Linux 系统上的多个 Python 发行版



我在Linux 16.04上工作,它预装了Python 2和Python 3。我曾经使用这个预安装的核心 Python 发行版一段时间了,并使用 pip 向发行版添加了一些包。最近我一直计划在不干扰我的核心 python 发行版的情况下安装 Anaconda python 发行版,但我不确定这两个发行版如何在同一个 Linux 系统上协同工作

  1. 如果我的核心和 Anaconda 发行版中都安装了软件包,这会导致任何类型的冲突吗?

  2. 如果我只是在终端上python3会运行什么?核心分布的蟒蛇还是蟒蛇分布

  3. 我可以同时运行两个 Python 实例吗?

  1. 不,安装在系统 Python 目录和 Anaconda 目录中的软件包是分开的。如果您使用 pip 的--user选项安装软件包,则可能会出现冲突,该选项会将软件包安装到 Ubuntu 上的~/.local目录中。但是,只有当您尝试使用相同版本的 Python (3.4 或 3.6 或...)时,这才会成为问题。

  2. 运行哪个 Python 取决于您为PATH环境变量设置的内容。您可以通过键入echo $PATH在终端中检查此变量的值。例如,如果您在终端中键入python3,shell 将在PATH中运行名为python3的第一个可执行文件。如果你的路径看起来像/home/user/anaconda3/bin:/usr/local/bin:/usr/bin,那么蟒蛇蟒将首先被发现。

  3. 您可以使用该 Python 可执行文件的完整路径(例如/usr/bin/python3/usr/bin/python2/home/user/anaconda3/bin/python/home/user/anaconda3/envs/py27/bin/python)来选择要在给定时间运行的 Python。一般来说,这样做没有问题,也不会有冲突。你可能遇到的唯一问题是,如果你想同时使用两个版本的 Python,你必须安装你要使用的软件包的 2 个副本(一个用于系统 Python,一个用于 Anaconda)。

    a. @sascha的补充:

    使用 anaconda 的环境时,您通常会使用activate选择一个环境(例如终端选项卡 1:source activate py2、终端选项卡 2:source activate py3;然后调用 python 或 pip 或......在这些终端选项卡中的行为会有所不同)

最新更新