项目要用的python库需要3.8以上的python,apt-get install
安装的python到不了这么高版本,只能从资源包安装
官网下载资源包地址: https://www.python.org/
下载安装包
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
解压
tar xzf Python-3.9.0.tgz
进入资源包并build
cd Python-3.9.0
./configure --enable-optimizations
make altinstall
这样子安装的python不会自动关联到命令行的python
和python3
指令,默认终端只有输入python3.9
才可以使用,需要手动添加软连接
which python3.9 # 查找对应资源目录,默认为/usr/local/bin/python3.9
# 添加软链接
sudo ln -fsn /usr/local/bin/python3.9 /usr/bin/python3.9
sudo ln -fsn /usr/bin/python3.9 /usr/bin/python3
# 多个版本的控制
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
更新pip
pip3.9 install --upgrade pip
可能会报错
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 27, in <module>
from CommandNotFound.util import crash_guard
ModuleNotFoundError: No module named 'CommandNotFound'
是因为环境变量里缺少了包
在配置文件/etc/profile
里添加
PYTHONPATH=\$PYTHONPATH:/usr/local/lib/python3.9/site-packages:/usr/lib/python3/dist-packages
PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin:\$MAVEN_HOME/bin:$PYTHONPATH/bin
export JAVA_HOME JRE_HOME CLASS_PATH MAVEN_HOME PYTHONPATH PATH
还可能会报错
File "/usr/local/lib/python3.9/subprocess.py", line 420, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/local/lib/python3.9/subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
这种情况是因为读取到了系统自带python2.7残存下来的包,将它移除即可
mv /usr/bin/lsb_release /usr/bin/lsb_release_backup
是因为现在pip
网友评论