【问题标题】:Where is pyvenv script in Python 3 on Windows installed?Windows 上 Python 3 中的 pyvenv 脚本安装在哪里?
【发布时间】:2013-04-05 13:21:14
【问题描述】:

阅读PEP405的以下声明后

还提供了一个 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 中没有正确实现,还是我遗漏了什么?

【问题讨论】:

    标签: python windows python-3.x virtualenv python-venv


    【解决方案1】:

    看起来pyvenv 脚本位于 Python 安装文件夹 (sys.prefix) 内的 Tools\Scripts 子文件夹中。将它复制到Scripts 子文件夹似乎是个好主意,因为它允许从命令行简单地键入pyvenv(假设Scripts 文件夹已经在PATH 上)。由于此脚本没有 exe 包装器,因此必须确保

    • .py 扩展被添加到 PATHEXT 环境变量中,以便 Windows 在键入脚本时发现 Python 脚本放置在 PATH 上 在命令提示符下命名。
    • .py 扩展名与 Python 可执行文件或 Python 启动器 (py.exe) 相关联,后者可从 Python 3.3 开始使用

    或者,您可以直接输入python -m venv 而不是pyvenv,这样就省去了所有的麻烦...

    相关的 Python 错误 17480 - pyvenv 应该安装在 Windows 上更明显的地方

    【讨论】:

    • 在所有 python3 版本中,它在 ../Python/Python##-##/Tools/scripts/pyvenv.py 中将其添加到路径可以解决问题。否则,通过提供脚本的完整路径并运行来使用该命令。即。如果您使用 cygwin 在 Windows 中模拟 unix,请使用 /cygdrive/c/Users/#####/AppData/Local/Programs/Python/Python36-32/Tools/scripts/pyvenv.py 简单而强大的命令来创建虚拟环境。如果使用完整路径调用,则无需添加到系统 PATH 变量。
    【解决方案2】:

    请改用python -m venv someenvname

    此外,如果您仅将系统范围的python.exe 用于创建虚拟环境,则没有充分的理由将 python 文件夹添加到PATH

    【讨论】:

    • 改用 python -m venv someenvname。 - 这就是我在我的答案中写的,当你发布你的答案时已经一年了......
    猜你喜欢
    • 2016-09-04
    • 2014-07-23
    • 2016-10-16
    • 1970-01-01
    • 2022-11-08
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    相关资源
    最近更新 更多