Linux系统上的多个Python发布

时间:2017-09-29 21:03:43

标签: python linux anaconda

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

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

  2. 如果我只是终端上的python3会运行什么?核心发行版的蟒蛇还是Anaconda发行版?

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

1 个答案:

答案 0 :(得分:2)

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

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

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

    一个。来自@sascha的补充:

      

    使用anaconda的环境时,通常会使用activate来选择一个环境(例如终端标签1:source activate py2,终端标签2:source activate py3;然后调用python或pip或者......在这些终端标签中表现不同)