如何用 virtualenv 创建指定 Python 版本的虚拟环境?

创建指定 Python 版本的虚拟环境:venv 只能用当前版本,virtualenv 包支持 -p 参数指定其他版本的解释器路径。pyenv 可管理多版本。本文介绍完整做法。

最佳实践
如何用 virtualenv 创建指定 Python 版本的虚拟环境?封面

注意区分:标准库 venv 只能用创建它的那个 Python 版本;要指定其他版本需安装第三方 virtualenv 包,用 python -m virtualenv -p /path/to/python3.x 环境名。前提是系统里已经装了那个版本的 Python。

使用 virtualenv 指定版本

# 安装 virtualenv
python -m pip install --user virtualenv

# 用 Python 3.10 创建虚拟环境
python -m virtualenv -p /usr/bin/python3.10 myenv

# 激活
source myenv/bin/activate
python --version   # Python 3.10.x

-p 后面跟目标版本解释器的完整路径。

系统里还没有目标版本怎么办

先安装对应版本的 Python:

  • Ubuntu/Debian:用 deadsnakes PPA 安装多版本;
  • pyenvpyenv install 3.10.13,然后用 python -m virtualenv -p ~/.pyenv/versions/3.10.13/bin/python myenv
  • condaconda create -n myenv python=3.10,conda 环境天然支持任意版本。

venv vs virtualenv

venv(内置) virtualenv(第三方)
安装 自带 pip install
指定其他版本 ✅ -p 参数
创建速度 较慢
Python 2

常见问题(FAQ)

Q:怎么知道系统里有哪些 Python 版本?
A:ls /usr/bin/python*;或 which python3.10 python3.11;pyenv 用户用 pyenv versions

Q:Windows 上怎么指定?
A:python -m virtualenv -p C:\Python310\python.exe myenv;装了 py 启动器也可以 py -3.10 -m virtualenv myenv

Q:创建后 pip 装包装上哪个版本?
A:激活虚拟环境后,pippython 都指向虚拟环境内的版本,互不影响。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台