3

当我运行python -m venv时,venv创建的虚拟环境目录包括一个名为的二进制文件python和另一个python3名为python. (在我的安装中,python是 Python 3.6 和python2Python 2.7。)

我的问题是,有时(我无法理解后续调用之间有什么区别)它还会创建另一个python3.6指向 的符号链接python,但有时不会。我需要这个符号链接(实际上,tox需要它)。二进制文件pip3.6easy_install-3.6总是安装在 virtualenv 中。

有什么方法可以确保python -m venv创建符号链接python3.6

(免责声明:我正在使用 pyenv 来管理我的 Python 安装,但我可以使用 重现上述行为/usr/bin/python -m venv

4

2 回答 2

3

在创建 venvs(python -m venv而不是 virtualenv)时,我通过在创建调用中包含版本号取得了成功;

python3.6 -m venv myvenv
于 2018-03-08T16:14:38.820 回答
1

python2 -m venv你需要已经有二进制文件才能让 venv 使用它,但如果你有它,使用or应该没关系python3 -m venv。如果您想要 3.6,请尝试:

python -m venv python=`which python3.6` ~/envs/py36

于 2020-08-31T14:55:59.743 回答