如何在Windows下让virtualenv复制Python可执行文件而非创建符号链接?
解决Windows下virtualenv --copies参数不生效的问题
1. 升级virtualenv到最新版本
旧版本virtualenv在Windows平台对--copies参数的支持存在兼容性问题,先执行升级命令修复潜在bug:
pip install --upgrade virtualenv
2. 以管理员权限运行命令
Windows文件系统的权限限制可能导致复制操作失败,需打开管理员权限的命令提示符/PowerShell,再执行创建命令:
virtualenv --copies myenv
3. 绑定独立Python解释器(彻底脱离系统Python)
如果前两种方法仍无效,最可靠的方案是使用独立的Python包(不依赖系统Python):
- 从Python官网下载zip格式的独立Python包,解压到本地路径(例如
C:\local-python) - 执行以下命令创建虚拟环境,强制复制独立Python的所有文件:
virtualenv --copies --python=C:\local-python\python.exe myenv
此方式创建的环境会完全复制独立Python的二进制文件、库文件等,彻底与系统Python解耦,即便系统Python被卸载也能正常运行。
4. 验证复制结果
进入虚拟环境的Scripts目录(myenv\Scripts):
- 查看
python.exe的文件大小:复制的文件大小与原独立Python的python.exe一致(通常几十MB),符号链接仅几KB - 右键点击
python.exe查看属性,若创建时间与原独立Python文件一致,则说明复制成功
内容的提问来源于stack exchange,提问作者Mahesh
相关产品推荐
相关产品推荐

