如何在项目目录下使用指定未安装版本的Python创建virtualenv虚拟环境
实现方案
完全可以实现你要的效果,不需要依赖pyenv-virtualenv,仅用pyenv的Python版本安装能力即可,操作步骤如下:
- 第一步:使用pyenv安装你需要的指定版本Python,以安装3.9.16为例,执行命令:
pyenv install 3.9.16
这一步只会把对应版本的Python安装到~/.pyenv/versions目录下,不会生成多余文件,也不会影响你的项目结构。 - 第二步:进入你的项目根目录,直接调用pyenv管理的对应版本Python创建本地虚拟环境,有两种常用方式可选:
- 临时指定版本直接创建:
PYENV_VERSION=3.9.16 python -m venv .venv - 先临时切换shell的Python版本,再创建:
pyenv shell 3.9.16 python -m venv .venv - 临时指定版本直接创建:
- 第三步:验证依赖关系:创建完成的
.venv目录已经包含独立的Python解释器、包管理工具和运行环境,后续激活使用时完全不需要依赖pyenv:- Linux/macOS激活命令:
source .venv/bin/activate - Windows激活命令:
.venv\Scripts\activate
激活后所有Python相关调用都会优先使用.venv内的程序,即使后续卸载pyenv,该虚拟环境也可以正常运行。
- Linux/macOS激活命令:
常见疑问说明
- 你担心的
.python-version文件只有在执行pyenv local <版本号>命令时才会生成,上述操作全程不会触发该文件生成,不会留下多余项目文件。 - 如果你已经安装了pyenv-virtualenv插件也不影响,只要不使用
pyenv virtualenv相关的创建命令,就不会把虚拟环境存储到~/.pyenv目录下。
内容的提问来源于stack exchange,提问作者John Kealy
相关产品推荐
相关产品推荐

