如何让 venv 安装 python3.6 二进制文件?
How can I make venv install a python3.6 binary?
当我 运行 python -m venv
时,venv
创建的虚拟环境目录包括一个名为 python
的二进制文件和另一个名为 python3
的二进制文件,这只是一个link 到 python
。 (在我的安装中,python
是 Python 3.6,python2
是 Python 2.7。)
我的问题是,有时(我无法理解后续调用之间的区别)它还会创建另一个指向 python
的符号 link python3.6
,但有时它没有。我需要这个 symlink(实际上,tox
需要它)。二进制文件 pip3.6
和 easy_install-3.6
总是安装在 virtualenv 中。
有什么方法可以确保 python -m venv
创建一个 symlink python3.6
?
(免责声明:我正在使用 pyenv 来管理我的 Python 安装,但我可以使用 /usr/bin/python -m venv
重现上述行为)
在创建 venvs(python -m venv
,而不是 virtualenv)时,我通过在创建调用中包含版本号获得了成功;
python3.6 -m venv myvenv
你需要有二进制文件才能让 venv 使用它,但如果你有它,使用 python2 -m venv
或 python3 -m venv
应该无关紧要。如果你想要 3.6,试试:
python -m venv python=`which python3.6` ~/envs/py36
当我 运行 python -m venv
时,venv
创建的虚拟环境目录包括一个名为 python
的二进制文件和另一个名为 python3
的二进制文件,这只是一个link 到 python
。 (在我的安装中,python
是 Python 3.6,python2
是 Python 2.7。)
我的问题是,有时(我无法理解后续调用之间的区别)它还会创建另一个指向 python
的符号 link python3.6
,但有时它没有。我需要这个 symlink(实际上,tox
需要它)。二进制文件 pip3.6
和 easy_install-3.6
总是安装在 virtualenv 中。
有什么方法可以确保 python -m venv
创建一个 symlink python3.6
?
(免责声明:我正在使用 pyenv 来管理我的 Python 安装,但我可以使用 /usr/bin/python -m venv
重现上述行为)
在创建 venvs(python -m venv
,而不是 virtualenv)时,我通过在创建调用中包含版本号获得了成功;
python3.6 -m venv myvenv
你需要有二进制文件才能让 venv 使用它,但如果你有它,使用 python2 -m venv
或 python3 -m venv
应该无关紧要。如果你想要 3.6,试试:
python -m venv python=`which python3.6` ~/envs/py36