我在Linux 16.04上工作,它预装了Python 2和Python 3。我曾经使用这个预安装的核心 Python 发行版一段时间了,并使用 pip 向发行版添加了一些包。最近我一直计划在不干扰我的核心 python 发行版的情况下安装 Anaconda python 发行版,但我不确定这两个发行版如何在同一个 Linux 系统上协同工作
-
如果我的核心和 Anaconda 发行版中都安装了软件包,这会导致任何类型的冲突吗?
-
如果我只是在终端上python3会运行什么?核心分布的蟒蛇还是蟒蛇分布
? -
我可以同时运行两个 Python 实例吗?
-
不,安装在系统 Python 目录和 Anaconda 目录中的软件包是分开的。如果您使用 pip 的
--user
选项安装软件包,则可能会出现冲突,该选项会将软件包安装到 Ubuntu 上的~/.local
目录中。但是,只有当您尝试使用相同版本的 Python (3.4 或 3.6 或...)时,这才会成为问题。 -
运行哪个 Python 取决于您为
PATH
环境变量设置的内容。您可以通过键入echo $PATH
在终端中检查此变量的值。例如,如果您在终端中键入python3
,shell 将在PATH
中运行名为python3
的第一个可执行文件。如果你的路径看起来像/home/user/anaconda3/bin:/usr/local/bin:/usr/bin
,那么蟒蛇蟒将首先被发现。 -
您可以使用该 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 或......在这些终端选项卡中的行为会有所不同)