Windows嵌入版Python如何正常使用venv或virtualenv创建虚拟环境?
venv是Python标准库内置模块,没有发布到PyPI软件源,因此无法通过pip install venv的方式安装。Windows平台的Python嵌入版为了尽可能压缩体积,默认裁剪了包括venv模块、DLLs系统依赖目录在内的大量非核心组件,这也是运行virtualenv创建环境时报路径错误的核心原因。
方案1:补全组件使用virtualenv
该方案可以实现完整的虚拟环境功能,操作步骤如下:
- 提前准备一个和你当前使用的嵌入版版本号完全一致的标准Windows版Python安装包,正常安装到本地
- 把标准安装版Python目录下的两个内容复制到嵌入版的对应路径:
- 根目录下的
DLLs整个文件夹,复制到嵌入版根目录(和python.exe同级) Lib目录下的venv整个文件夹,复制到嵌入版的Lib目录中
- 根目录下的
- 重装virtualenv避免缓存问题:
pip uninstall -y virtualenv pip install virtualenv - 测试创建虚拟环境:
执行完成后即可正常生成虚拟环境,激活方式和标准Python虚拟环境完全一致。virtualenv myenv
方案2:轻量依赖隔离(无需补全组件)
如果你对嵌入包的体积有严格要求,不想额外添加文件,也可以不用虚拟环境,通过pip的定向安装参数实现依赖隔离:
- 新建一个专门存放第三方依赖的文件夹,例如命名为
pkgs - 安装依赖时指定安装路径:
pip install 所需包名 --target ./pkgs - 运行业务脚本前,先将依赖目录加入Python的模块搜索路径即可:
import sys sys.path.insert(0, "./pkgs") # 后续正常导入安装的第三方包
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

