如何从 Ubuntu 18.04 LTS 中删除 Python 3.8.2,而不损坏预装的 Python 2.7 和 Python 3.6 版本?

如何从 Ubuntu 18.04 LTS 中删除 Python 3.8.2,而不损坏预装的 Python 2.7 和 Python 3.6 版本?

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

Ubuntu 上安装的 Python 版本

我想知道如何在Python 3.8.2不损坏预装版本的情况下删除Python 2.7.17Python 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

相关内容