大家好,我是老表~
之前写的一篇用Python搞了个基金查询机器人,还可以拓展!,需要Python环境是3.7及以上版本,第一次在Linux上安装Python(之前用的都是系统内置的Python3.6.8),记录下。
1、官网下载Python源码
这里比较建议本地下载(下载速度较快),然后通过宝塔,将文件上传到服务器。
首先本地浏览器服务下面网址,找到要下载的python版本,点击即可下载。
https://www.python.org/downloads/source/
注意,左边是稳定版本,右边的是预发版本,我这里选择的是Python3.7.9,点击Download XZ compressed source tarball
。
我们将下载好的Python源码压缩包通过宝塔上传到服务器指定文件夹下(我在root/Project文件夹下创建了一个soft文件夹),上传好后,在宝塔内可以直接右键解压。
如果你还不知道怎么安装使用宝塔面板,可以看往期文章:Linux里的“宝塔”,真正的宝塔!详细教程
2、安装Python
接下来我们还是可以继续用宝塔,点击宝塔面板的终端
,依次输入下面指令。
- cd进入Python源码目录
- ./configure --prefix 设置安装位置
- make 进行源码编译,生成可执行文件
- make install 将编译生成的可执行文件安装到通过configure设置的安装目录中
我这里设置的最终安装目录是/usr/local/python3.7
cd /root/soft/Python-3.7.9
./configure --prefix=/usr/local/python3.7
make
make install
安装成功后,也会打印出安装目录,这里提示这个目录没有被加入环境变量,我们可以添加下,或者直接配置软链接。
- 方式一:配置环境变量
首先利用nano
打开配置文件~/.bashrc
,在最后添加一行export PATH="/usr/local/python3.7/bin:$PATH"
,保存 退出,最后运行下配置文件即可。
nano ~/.bashrc
# 添加环境变量后, 运行下配置文件
source ~/.bashrc
不过即使这样,还是得设置下软链接,或者用python3.7 进入Python程序。
- 方式二:设置软链接
这里使用的是ln指令,将python3.7可执行软件直接链接到/usr/bin中的python3,pip3.7链接到/usr/bin中的pip3,这样我们就可以直接使用python3 pip3直接对应到3.7版本了。
- ln -s 表示进行软链接
- ln -f 表示强制进行链接,如果之前有链接过其他目录,则先将之前的链接删除,再进行新的链接
ln -sf /usr/local/python3.7/bin/python3.7 /usr/bin/python3
ln -sf /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3
设置好,我们可以直接输入python3 --version
看看是否链接成功。
3、简单使用
- 设置镜像源
创建一个.pip
文件夹,用来存放pip配置文件。
mkdir .pip && cd .pip
我们还是使用nano
指令来编辑文件,
nano pip.conf
将下面内容复制到里面,然后按ctrl+o
保存文件,再按ctrl+x
退出编辑模式即可。
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
trusted-host = mirrors.aliyun.com
除了阿里云镜像,你也可以选择其他镜像源,
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
豆瓣 http://pypi.douban.com/simple
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple
- 安装第三方包
首先要安装的就是pipenv
,方便创建、管理虚拟环境,安装个requests
爬取数据,再安装个pandas
处理数据。
pip3 install pipenv rquests pandas
- 写个小程序:生成随机密码
先说下思路:从数字、大小写字母、特殊字符里随机选取指定长度的字符个数,然后组成一个字符串。
1> 字符集
我们可以自己输入,也可以用现成的包,比如string
,是Python的一个内置包,可以很快的获取到各种字符。
import string
string.printable
2> 随机函数
也是Python内置的一个包random
,主要内置有:randint、random、randrange、choice、choices等函数。
import random
random.choices('abc', k=2)
3> 随机密码生成程序
import string
import random
while True:
try:
password_len = int(input('请输入密码长度(只能是数字):'))
password = ''.join(random.choices(string.printable.strip(), k=password_len))
print(f'你的新密码为:{password},请保存好~')
except Exception as e:
print(f'【出错啦】看看是不是输入错误吧,可能是输入了非数字内容,错误信息:{e}')
print('*** 想结束就输入0吧!!!***')
print('*** 回车继续生成新密码 ***')
flag = input('是否继续生成新密码:')
if flag == '0':
break
print('******************************************')
后面有时间,我再优化下,嘿嘿嘿~