Linux系统上的多Python发行版

2024-04-16 08:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在预装了python2和python3的Linux 16.04上工作。我以前使用这个预装的核心Python发行版已经有一段时间了,并且使用pip向发行版添加了一些包。最近我还计划安装anacondapython发行版,而不影响我的核心python发行版,但我不确定这两个发行版如何在同一个Linux系统上协同工作

  1. 如果有一个包安装在我的核心和Python发行版,这会导致任何类型的冲突?

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

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


Tags: pip实例终端类型核心linux系统anaconda
1条回答
网友
1楼 · 发布于 2024-04-16 08:33:59
  1. 不,安装在系统Python目录和Anaconda目录中的包是分开的。如果使用pip的 user选项安装包,则可能会发生冲突,pip会将包安装到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,那么将首先找到Python。

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

    a.从@sascha添加:

    When using anaconda's environments, you usually would use activate to select one environment (e.g. terminal-tab 1: source activate py2, terminal-tab 2: source activate py3; then calling python or pip or ... will behave differently in these terminal-tabs)

相关问题 更多 >