python - Linux 系统上的多个 Python 发行版

标签 python linux anaconda

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

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

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

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

最佳答案

  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,那么将首先找到 Anaconda Python。

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

    一个。来自@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)

关于python - Linux 系统上的多个 Python 发行版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46496886/

相关文章:

python - 将数据帧的索引设置为字典中的单个键

python - 当达到文件中的数字时跳过多行

Linux shell 理解

linux - 压缩 Bash 脚本以解析文件

python - pip install pymssql 在 anaconda 窗口中失败

python - Anaconda Navigator 中的应用程序启动错误 - 应用程序 spy 程序启动可能产生错误

python - 加权页面排名图表示

Linux ipconfig命令

python-3.x - 如何在conda环境中为python 3运行IDLE?

python - MySQLdb 执行 INSERT 到表