gpt4 book ai didi

python - 我们如何在同一 Ubuntu 操作系统上分别使用、维护和安装 python 2.7 和 python 3.5 的库?

转载 作者:行者123 更新时间:2023-11-28 21:08:04 24 4
gpt4 key购买 nike

我需要在我的 Ubuntu 16.04.1 LTS 上同时使用 Python 2.7.12 和 python 3.5.2。 Python 3 是预装的,所以我不知道它在目录路径方面的位置,而 python 2 位于 /usr/local/lib/python2.7/ 中。 .

我在 SO 和 askubuntu 上发现了很多关于如何安装的问题,但没有关于如何单独使用它们、安装不同的库,以及如果我长期维护这个双 python 东西我应该避免或注意什么学期?例如,我通常运行 pip install 来安装一个库,我可以检查它是否安装在我的 python2 目录中,但是如何为我的 python3 安装相同的包而不发生冲突?类似于:python3 pip install <package> ??默认的python3安装在哪里?以及如何为 python 不是命令一部分的路径调用 python3,例如:pip freeze , sudo-apt get等等?

PS:我还没有正式使用 Virtualenv,但我听说这通常有助于在 python 语言版本中隔离项目,而不是将两个不同的语言版本相互隔离。

请告诉我。

谢谢

最佳答案

这绝对没问题,因为 Python 会为您完成。你根本不需要 virtualenv。

如果您使用 Ubuntu 软件包,请确保为 Python 3 使用 python3- 版本,为 Python 2 使用普通的 python- 版本。
例如,python3-numpypython-numpy

如果您使用 pip 安装额外的包,您可以使用附加版本号的 pip 脚本:pip2.7pip3.5,或者,我的首选方法,调用 pip 作为相应 Python 可执行文件的模块:

python2.7 -m pip install <whatever>

python3.5 -m pip install <whatever>

除此之外,应该没有任何问题:Python 将包存储在完全独立的目录中,并且每个 Python 可执行文件仅使用其各自的指令。

不要摆弄PYTHONPATH,除非您真的知道自己在做什么。这有将您的 PYTHONPATH 设置为包含 Python 2.7 模块的目录,然后使用 Python 3.5 来运行的危险。


如果您从头开始,您可能需要先安装 pip

对于系统 Python(s),使用相关包:

sudo apt install python-pip
sudo apt install python3-pip

对于本地安装的 Python,请使用内置的 Bootstrap 模块:

pythonx.y -m ensurepip

关于操作系统安装的 Python 可执行文件的注意事项:

Python 3.5 位于/usr/bin/python3.5,Python 2.7(操作系统)位于/usr/bin/python2.7。您甚至可以在本地安装的 /usr/local/bin/python2.7 旁边使用 OS 2.7 (当找不到包时,您会感到困惑,因为你用错了)。
或者在 Python 3.5 旁边安装 Python 3.6(假设您使用了 make altinstall,这样 python3 就不会被覆盖)。

这也是为什么您不想按原样运行 pip(甚至 pip2.7): pip2.7 可能会为您提供系统版本,而不是 /usr/local/bin/pip2.7 中的版本,具体取决于您的 PATH

(同样适用于 python2.7 可执行文件,因此如果您需要指定完整路径 /usr/local/bin/python2.7 来运行它一个(或有一个别名),同样适用于 pip2.7。另一方面,如果 /usr/local/bin第一个 在你的 PATH 上,原则上你应该永远不会遇到相同的 pippython 可执行文件。)

关于python - 我们如何在同一 Ubuntu 操作系统上分别使用、维护和安装 python 2.7 和 python 3.5 的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40604010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com