【问题标题】:Virtual environment for a project that uses both python 2 and 3?同时使用 python 2 和 3 的项目的虚拟环境?
【发布时间】:2020-12-25 06:42:36
【问题描述】:

我正在开发一个包含一些 python 内容的大型项目(主要是 C/C++)。大多数 python 的东西都是基于 python3 的,但是一些遗留代码在 python2 上运行。这里有人知道同时支持多个python版本的虚拟环境工具吗? 我试过 venv、virtualwnv、pyenv、pipenv,但没有成功。他们都依赖于拥有单一版本的python。 我需要能够在虚拟环境中指定一个 python2 和一个 python3,就像我在系统安装中所做的那样。

谢谢。

【问题讨论】:

    标签: python virtual environment pipenv


    【解决方案1】:

    我建议你使用 Anaconda,因为它可以在不同的环境中使用不同的 python 版本,你可以自己指定。

    我创建了一个blogpost关于使用 Anaconda 创建环境,只需创建两个不同的环境,一个使用 python2.x,一个使用 python3.x:

    conda create -n python2env python=3.7
    conda create -n python3env python=2.7
    

    【讨论】:

    • 我猜@MichaelJanz 的回答涵盖了它。但是如果你只是想要一个快速和基本的实现,你可以安装 miniconda (docs.conda.io/en/latest/miniconda.html) 它默认带有 python 3.8,但你可以使用上面相同的命令。 Anaconda 体型巨大,如果您不从事数据科学,就不需要它
    【解决方案2】:

    Virtualenvs 根本无法在 Python 版本之间共享——即使是次要版本 (3.x),更不用说同时使用 Py2 和 Py3。

    对于包含 Python 2 和 Python 3 位的项目,您将需要两个 virtualenvs,例如

    python2 -m virtualenv py2_venv
    python3 -m virtualenv py3_venv
    

    或者随你喜欢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-27
      • 2019-03-25
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 2017-06-05
      相关资源
      最近更新 更多