我有 Python 3.7,但我想创建一个 Python 2.7 虚拟环境来运行一些仅适用于 Python 2.7 的代码。
如何创建这个 python 2.7 虚拟环境?
python3 -m venv
像这样吗?
创建虚拟环境时,会创建一个
pyvenv.cfg
,其中包含 home
键,该键告诉用于创建虚拟环境的 python 可执行文件的位置。如果你的全局Python安装版本是3.8.6,并且你运行
python3 -m venv something
您将在文件夹
something
中创建虚拟环境,其中 pyvenv.cfg
指向 Python 3.8.6 安装的 python
可执行文件。没有简单的方法*让它指向 Python 2.7 可执行文件。
virtualenv
作为 venv
替代品venv
模块是在Python 3.3中引入的,因此您不能使用它来使用Python 2.7创建虚拟环境。您可以使用 virtualenv
包,它是 venv
的超集。首先,使用 python 2.7** 安装它:
python -m pip install virtualenv
如果 Python 2.7 不在您的 PATH 中(如
python
),请使用 python 可执行文件的完整路径代替 python
。然后,您可以创建具有 Python 2.7 的虚拟环境
virtualenv something
或
virtualenv --python=python2.7 something
* 至少开箱即用的 venv 模块不支持它。
** 实际上,您可以使用 any Python 版本安装它,但是在运行
--python=/opt/python-2.7/bin/python
时您必须指定 --python=python2.7
或 virtualenv
。默认情况下,它使用用于安装它的 python 可执行文件。
venv
不允许使用当前安装的 Python 版本以外的其他版本创建虚拟环境。您必须使用传统的 virtualenv 包,它允许通过提供二进制文件的路径来为不同版本的 python 创建虚拟环境,如下所示:
virtualenv --python=/usr/bin/python2.7 /path/to/virtualenv/
其中路径
/usr/bin/python2.7
指的是系统上 Python 2.7 的二进制文件的路径。
安装python2.7
添加 Universe 存储库
sudo apt-add-repository universe
sudo apt update
安装python2.7
sudo apt install python2-minimal
使用python2.7创建virtualenv
mkvirtualenv -p $(which python2) something