当 python3 也安装时,我如何管理 python2 的模块。在 OSX

How can I manage the modules for python2 when python3 installed as well. In OSX

我正在使用 OSX 并且我安装了 python3 并安装了 anaconda。在我的 OSX、 中存在 python 的两个版本,即 python2 和 python3.

我在 anaconda 中管理模块,这些模块只影响 python3 中的模块。但是 我如何管理(安装、删除、更新)python2 的模块?

我查看了一些关于 'python2 is at /usr/bin/python' 的帖子。所以不用配置别名就可以通过'/usr/bin/python'使用python2。但是,当 python3 也安装时,我如何管理(安装、删除、更新)python2 的模块。在 OSX.

下面是一些 cmds 结果。谢谢!!

$ pip --version
pip 18.0 from ~/anaconda/lib/python3.5/site-packages/pip (python 3.5)

$ pip3 -V
pip 18.0 from ~/anaconda/lib/python3.5/site-packages/pip (python 3.5)

$ echo $PATH  
~/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin

您可以使用pyenv

首先你应该安装pyenv。

使用

pyenv versions

检查您计算机上的所有版本。

使用

pyenv global 3.4.0

正在设置您当前的全球 python 版本。

使用

pyenv 安装 3.4.0

安装特定版本的 Python。

您可以在文档中找到更多用法。

Python 以两种主要方式发布,python 用于 Python 2,python3 用于 Python 3.x。两者的 pip 分别是 pippip3

呼应@Mark White 在他的回答中所说的内容,您应该使用 pyenv 来确保环境奇偶校验。

Anaconda 带有一个名为 conda 的包和环境管理器。这是您需要做的:

创建一个单独的 Python 2.7 环境,让我们称它为旧的和破坏的。

conda create --name old_and_busted python=2.7

现在切换到这个环境:

conda activate old_and_busted

如果需要,验证它是否有效:

python --version

安装一些很酷的东西:

conda install flask

奖金,使用 pip 在相同的环境中安装一些很酷的东西:

pip install flask

又是什么环境?

conda env list

让我们检查一下那个包裹:

conda list

现在这部分非常重要,一定要经常做 - 回到你的 Python 3 环境:

conda activate base

pipenv 以类似的方式管理环境。 Anaconda 专注于科学计算的打包,可以很好地处理打包非 python 扩展(例如 C、C++)依赖项。

** 关于 condasource 环境激活的注意事项 **

如果 conda activate 不起作用,请使用 source activate。这在 Anaconda 4.4.0 Release Notes 中已更改。

如果你的 .bash_profile(或 .profile 或其他神奇的点文件)中有这个,你可以使用 source activate:

export PATH="$HOME/anaconda3/bin:$PATH"

如果您的 shell 启动程序中有此更新代码,那么您可以使用 conda activate:

. $HOME/anaconda3/etc/profile.d/conda.sh conda activate