一、为什么用安装包,不用apt指令?
在使用apt指令安装时,莫名出现安装后的python3.8中没有pip,并且没有Math库!!!
二、具体步骤
2.0准备环境
# 更新apt
apt update
# 安装相关包
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev
2.1下载安装包
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
如果服务器没联网,可以先用联网的本地,在地址栏输入以上网址,下载到本地,然后再上传到服务器。不一定非要用wget!!!
2.2安装
依次运行以下指令:
解压缩(此处路径无所谓)
tar -xf Python-3.8.0.tgz
进入到解压缩的文件夹下
cd Python-3.8.0
默认配置(prefix指定安装路径,这里我选择放在/usr/lib/python3.8中,因为服务器其他python均是放在/usr/lib中,也试过放在其他路径下,但是会出现奇怪的问题,感觉无所谓,只是我操作有问题)
./configure --enable-optimizations --prefix=/usr/lib/python3.8
编译
make
安装(这里使用altinstall,由于使用install可能会覆盖服务器本身配置的python3环境,造成不可逆转的bug)
make altinstall
直接运行使用
python3.8
到此处,python3.8就安装完了,接着需要进行一些配置进行使用。
2.3配置Python3.8环境
如果想要键入python直接进入python3.8中,则需要将python软连接到python3.8
which python # 查看python路径
which python3.8 # 查看python3.8路径
如果调用python报错/usr/bin/python: No such file or directory或者说调用which python没有返回值,直接进入下一行指令,则需要使用以下指令新建软连接
ln -s /usr/local/bin/python3.8 /usr/bin/python
如果没有以上问题,可以使用以下指令查看软连接到python的版本有哪些
update-alternatives --list python
然后通过数字选择,通常新安装的python版本是不会出现在列表中的,或者列表中根本就没有python版本,此时需要我们注册python解释器
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 10
# /usr/bin/python表示注册器路径
# python表示注册器名称
# /usr/bin/python3.8表示需要选择的对应版本
# 10表示优先等级# 以上是个人理解,不知对错,欢迎讨论
接着就可以使用上一条指令来选择到对应的版本即可。
2.4Pip相关问题
使用以下指令查看pip版本
pip -V
通常情况下,对应的python版本与新安装的不同,亦或者直接报错,没有pip等情况。
此时,只需要创建一个get-pip.py文件,然后去网站复制全部源码过来,通过指令
python get-pip.py
即可安装一个对应python版本的pip