【问题标题】:Python venv env Fails - [WinError 2] The system cannot find the file specifiedPython venv env 失败 - [WinError 2] 系统找不到指定的文件
【发布时间】:2020-08-23 11:06:00
【问题描述】:

我在 Windows 10 机器上安装了最新版本的 Python 3.8.2。我以前有 Python 3.7,我在 System PATH 中卸载并确认它不再被引用。

安装最新版本后,我以管理员身份运行 CMD:

py -m venv env

我得到这个错误:

错误:[WinError 2] 系统找不到指定的文件:'C:\Users\test_user\Documents\app_test\env'

我知道 Python 路径在系统路径环境设置中,但不是专门针对用户的(不知道这是否有区别?)。

我也尝试使用 powershell 卸载 virtualenv 并重新安装,但结果相同。

有什么想法可以解决这个问题吗?

【问题讨论】:

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


    【解决方案1】:

    我也遇到了同样的问题。我发现这是由于将副本 python.exe 可执行文件重命名为 python3.exe 造成的。我这样做是因为我已经安装了 Python 2.7 和 Python 3.9 并配置了 环境变量 以使用带有 python 命令的 Python 2.7 和使用 python3 的 Python 3.9命令。这样我在 Python 2 的环境变量中的路径就在 Python 3 之上。

    要修复此问题,请编辑您的路径变量,以便 Python 3 路径将存在于 Python 2 路径之前。

    另外,如果您也在使用 Python2,请转到安装位置并创建 python.exe 可执行文件的副本并将其重命名为 python2.exe。

    然后,当您运行 python 命令时,它将直接到 Python 3 并使用 Python 2 您可以使用 python2 命令。

    您可以通过following this issue找到更多信息。

    【讨论】:

      【解决方案2】:

      我使用 2 个版本的 Python 3.8 和 3.9。将我的 python.exe 文件更改为 python38.exe 后,我遇到了这个错误。我搜了一下,发现this answer:

      看起来您可能已将您的 python.exe 可执行文件重命名为 python3.exe?安装后我得到了同样的错误 让我将 python.exe 重命名为特定于版本的说明。 我 重命名它并且 python -m venv venv 工作正常。

      我将我的 2 个主要 python 文件改回 python.exe,现在我只是运行

      py -3.8 -m venv env 
      

      或

      py -3.9 -m venv env
      

      【讨论】:

        【解决方案3】:

        我发现 Windows Defender 现在具有阻止访问/更改系统文件的功能。它默认添加了我的文档文件夹,以某种方式阻止我在 CMD 中创建任何文件夹,尽管具有管理员访问权限。我希望这对其他人有帮助!

        简而言之——您可能必须修改或禁用 Windows 10“Ranswomare 安全保护”设置才能将文件写入目录。

        【讨论】:

        • 我支持这个,只需在管理员模式下使用命令提示符运行命令,而不是禁用 Windows Defender
        【解决方案4】:

        我意识到,当多重安装出现问题时,尤其是像设置环境这样很少发生的问题,我使用 python 安装的完整路径

        [path to python installation folder]/python.exe -m venv env
        

        这里要注意的是,如果您有一个名为 python2/3/27/37.exe 的 python.exe 副本,请务必调用原始可执行文件。

        【讨论】:

          【解决方案5】:

          在 Windows 10 上,您只需以管理员身份运行脚本。

          【讨论】:

            【解决方案6】:

            这解决了我的问题:

            python -m pip install -U pip --user //In Windows 
            pip install -U pip --user //Linux, and MacOS
            

            【讨论】:

            • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
            【解决方案7】:

            要克服这个运行py -m venv env --user 或者您也可以以管理员身份手动运行脚本

            【讨论】:

              【解决方案8】:

              我也遇到过同样的问题。并使用一个简单的技巧来解决它。 某些软件包需要文件夹权限才能安装,这样做使用具有管理员访问权限的 cmd,然后安装您想要的任何内容。一旦安装了包或环境,它就会为普通用户打开大门。

              在新的 Windows 系统中,最好使用具有管理员权限的 cmd 来避免这些错误

              【讨论】:

                【解决方案9】:

                我得到了 WinError 2,因为我安装了多个不同版本的 python3,并且我将 python.exe 重命名为其他名称。我已经尝试了这篇文章中提供的所有解决方案,包括关闭防火墙。不幸的是,我仍然得到了winerror。所以,我必须在 [python path]/Lib/venv/init.py 中编辑 venv init。找到 python_exe 变量并将其值从 python.exe 更改为新的 python 可执行文件名称(在我的例子中是 python39.exe)。此外,找到名为 suffixes 的变量并将后缀列表中的 python.exe 更改为您的 python 可执行文件名称。最后,测试它以创建一个环境并激活它。 WinError 问题已解决。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2016-07-03
                  • 2020-01-02
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-05-21
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多