python3 -m venv: 如何指定Python点release/version?

python3 -m venv: how to specify Python point release/version?

要使用 virtualenv 创建虚拟环境,您可以像这样指定 Python 发行版和点版本:

virtualenv --python=python3.6 .venv

如何使用 Python3 的 venv 模块(如 python3 -m venv .newvenv 中)实现此目的? According to the documentation 使用 venv 是创建虚拟环境的推荐方法,但我没有看到如何选择具有特定 Python 版本的虚拟环境。

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

python3.6 -m venv whatever

将是您创建 Python 3.6 虚拟环境的方式。

通过使用选项 --without-pip,我能够避免评论中提到的错误。然后在激活 venv 后,我使用 get-pip.py 脚本手动安装了 pip

我想在使用 pyenv 时添加到这个答案中。在我的工作流程中,我使用 pyenv 来拥有多个 python 版本但不管理 virtualenvs。我宁愿在项目的根目录中有我的 python 虚拟环境。使用 pyenv,可以通过 运行ning 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

在处理项目并选择应该在该项目中使用的 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