【问题标题】: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
【解决方案2】:
Virtualenvs 根本无法在 Python 版本之间共享——即使是次要版本 (3.x),更不用说同时使用 Py2 和 Py3。
对于包含 Python 2 和 Python 3 位的项目,您将需要两个 virtualenvs,例如
python2 -m virtualenv py2_venv
python3 -m virtualenv py3_venv
或者随你喜欢。