Ubuntu通过资源包安装Python3.9

2021-12-07  本文已影响0人  Lyudmilalala

项目要用的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不会自动关联到命令行的pythonpython3指令,默认终端只有输入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

上一篇 下一篇

猜你喜欢

热点阅读