python3 -m venv:如何指定Python点发布/版本?

mjk*_*use 10 python virtualenv python-venv

要使用创建虚拟环境,virtualenv您可以指定 Python 版本和点版本,如下所示:

virtualenv --python=python3.6 .venv
Run Code Online (Sandbox Code Playgroud)

如何使用 Python3 的venv模块(如python3 -m venv .newvenv)来实现这一点?根据文档,使用venv是创建虚拟环境的推荐方法,但我没有看到如何选择具有特定 Python 版本的虚拟环境。

use*_*ica 14

venv使用您想要用于新虚拟环境的任何 Python 安装来运行。例如,如果您使用 运行 Python 3.6 安装python3.6,则

python3.6 -m venv whatever
Run Code Online (Sandbox Code Playgroud)

这就是创建 Python 3.6 虚拟环境的方式。

  • 伟大的。`python3.5 -m venv ...` 工作没有问题(发行版附带),但是 `python3.6 -m venvwhatever` 返回 `Error: Command '['/home/someuser/dev/somedir/ whatever/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']' 返回非零退出状态 1.` - 不完全有帮助,但它确实尽管如此,还是要创建一个实用的 Python 3.6 环境。 (5认同)

Gil*_*ert 8

我想在使用时添加到这个答案pyenv。在我的工作流程中,我使用pyenv多个 python 版本,但不管理 virtualenvs。我宁愿将 python 虚拟环境放在项目的根目录中。使用 pyenv,可以通过运行pyenv install 3.8.10和 之后安装多个 python 版本pyenv install 3.9.0。当你运行时,pyenv versions你应该得到类似的东西

  system
* 3.8.10 (set by /Users/<user>/.pyenv/version)
  3.8.10/envs/python-test.venv
  3.9.0
Run Code Online (Sandbox Code Playgroud)

当处理一个项目并选择该项目中应使用的 python 版本时,您可以执行以下操作。

$ mkdir my_project && cd my_project
$ pyenv global <version>
$ python --version // should be the version you set as global
$ python -m venv .venv
$ source .venv/bin/activate
Run Code Online (Sandbox Code Playgroud)