从PEP 405
阅读以下声明后还提供了pyvenv安装脚本来实现这一目标 方便:
pyvenv /path/to/new/virtual/environment
我试图创建一个新的虚拟环境并且悲惨地失败了;
C:\>python --version
Python 3.3.1
C:\>pyvenv myvenv
'pyvenv' is not recognized as an internal or external command,
operable program or batch file.
显然pyvenv
脚本未安装到Scripts
文件夹中,该文件夹通常被添加到PATH
环境变量中,从而可以在命令行上轻松运行此类脚本。
PEP 405是错误的,是否在Python 3.3中没有正确实现,或者我错过了什么?
答案 0 :(得分:13)
看起来pyvenv
脚本放在Python安装文件夹(Tools\Scripts
)内的sys.prefix
子文件夹中。将它复制到Scripts
子文件夹似乎是一个好主意,因为它允许从命令行简单地键入pyvenv
(假设Scripts
文件夹已在PATH
上)。由于此脚本没有exe
包装器,因此必须确保
.py
扩展名已添加到PATHEXT
环境变量中
Windows在键入脚本时发现放置在PATH
上的Python脚本
命令提示符处的名称。.py
扩展名与Python可执行文件或Python启动程序(py.exe
)关联,后者从Python 3.3开始提供或者,只需输入python -m venv
而不是pyvenv
,就可以省去所有麻烦......
相关的Python bug 17480 - pyvenv应安装在Windows上更明显的地方
答案 1 :(得分:4)
请改用python -m venv someenvname
。
此外,如果仅将系统范围的PATH
用于创建虚拟环境,则没有充分的理由将python文件夹添加到python.exe
。