【问题标题】:Virtual environment and python versions for different projects不同项目的虚拟环境和python版本
【发布时间】:2017-04-06 08:58:35
【问题描述】:

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

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

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

【问题讨论】:

    标签: python virtualenv pyenv


    【解决方案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 可执行文件创建一个新环境并激活它。

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

    $ source my-python-3.6-env/bin/activate
    (my-python-3.6-env) $ python setup.py develop
    

    【讨论】:

    • 该解决方案似乎能够安装现有的python版本。如果我想安装系统中不存在的特定 python 版本,我该怎么办?
    • 首先在您的系统上安装该 Python 版本。您无法运行 Python 版本或为其创建未安装的环境。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 2020-05-16
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    相关资源
    最近更新 更多