Python 2.7.17
我已经预装了Ubuntu 18.04 LST Python 3.6.9
。
我已经Python 3.8.2
通过以下方式安装:
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget
sudo wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
tar -xf Python-3.8.2.tar.xz
cd Python-3.8.2
./configure --enable-optimizations
make -j 8
sudo make altinstall
~$ python -V
和 的默认版本为~$ python3 -V
:
Python 2.7.17
Python 3.6.9
当我运行时~$ ls -l /usr/bin/python*
,我得到以下内容(查看图片了解完整输出):
-rwxr-xr-x 1 root root 3637096 Apr 15 13:20 /usr/bin/python2.7
-rwxr-xr-x 2 root root 4526456 Apr 17 21:56 /usr/bin/python3.6
-rwxr-xr-x 1 root root 5203488 Oct 28 2019 /usr/bin/python3.8
我想知道如何在Python 3.8.2
不损坏预装版本的情况下删除Python 2.7.17
?Python 3.6.17
了解更多信息:
我想这样做来安装支持 GPU 的 TensorFlow。根据 TensorFlow 文档TensorFlow:软件包位置,它仅支持最多Python3.7
。
或者是否可以安装多个版本的 Python 而不影响 Ubuntu 功能?
另外,如何确保当我通过pip
或安装软件包时pip3
,这些软件包是针对所需的 Python 版本安装的,例如Python 3.8.2
?
在此先感谢您的帮助!
答案1
通过与默认版本一起编译来安装 Python 可能会导致大量问题,因为所有 Python 库都与默认版本共享,甚至一些 Ubuntu 软件包都依赖于其 Python 依赖项的默认版本。
使用虚拟环境工具pyenv解决了所有这些问题。它允许您使用几乎任何 Python 版本创建一个隔离环境,将其安装的软件包与其他环境和系统本身隔离开来。您可以python
随时激活环境(它会覆盖自定义版本的命令)并停用它。
提示一下,在文档中找到 Ubuntu 依赖项可能有点棘手,因此它们在这里:
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git