0

让我首先概述我想要的解决方案,然后详细说明如何实现这种状态的具体问题。

我很快将在 python 中启动两个编码项目。我以前用过python,但从来没有用过这么大的项目。我理想的情况是有一个设置,我可以为各种项目运行虚拟环境和不同的 python 版本。一些研究将我指向 virtualenv / virtualenvwrapper 和pyenv。似乎使用pyenv-virtualenvpyenv-virtualenvwrapper有一种很好的方法可以为特定项目指定虚拟环境和 python 版本。

问题:一旦我为特定项目设置了虚拟环境和 python 版本,我在后期切换到更新的 python 版本有多容易?假设我已经使用 python 3.4 启动了项目 A,并且在未来一年内我想将所有内容移至 python 3.6。这可能以一种简洁的方式吗?

4

1 回答 1

1

当然:

$ rm -r my-python-3.4-env
$ virtualenv -p python3.6 my-python-3.6-env
$ source my-python-3.6-env/bin/activate

换句话说,每个虚拟环境只是一个文件夹,其中包含必要的文件。您使用命令“激活”一个环境source .../activate(在 virtualenv 的情况下),您也可以轻松地离开它。要切换到不同的环境,您只需使用特定的 Python 可执行文件创建一个新环境并激活它。

您要注意的是保持安装可重复,这意味着如果您依赖外部模块(现代项目通常这样做),您不想手动安装每个依赖项,而是自动安装。例如,您创建一个列出您的依赖项的setuptoolssetup.py文件,然后让它自动将它们安装到您的新环境中:

$ source my-python-3.6-env/bin/activate
(my-python-3.6-env) $ python setup.py develop
于 2017-04-06T09:08:09.393 回答