Python venv env 失败 - [WinError 2] 系统找不到指定的文件

Kev*_*inW 8 python python-3.x python-venv

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

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

py -m venv env
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

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

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

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

关于在哪里寻找解决这个问题的任何想法?

小智 11

我面临同样的问题。我发现这是由于将副本 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命令。

您可以通过关注此问题找到更多信息。


J. *_*Doe 9

您可能会遇到此错误,因为您的计算机上有两个或更多版本的 Python。安装第二个版本时,您:

  • 创建环境变量(例如PYTHON37_HOME -> C:/Users/..Python/Python37
  • 在 中指定了这个变量Path
  • 将文件重命名python.exepython37.exe

现在通过打开文件,C:\Users\....\Python\Python37\Lib\venv\__init__.py您可以看到通过执行该setup_python()函数,python.exe在 中找不到了,suffixes = ['python.exe', ...]因为我们重命名了它。

所以你还必须重命名suffixes = ['python.exe', ...]suffixes = ['python37.exe', ...].

再次执行python37 -m venv venv应该可以了


Kev*_*inW 7

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

简而言之——您可能需要修改或禁用 Windows 10 的“Ranswomare 安全保护”设置,以允许您将文件写入目录。

  • 我同意这一点,只需在管理员模式下使用命令提示符运行命令,而不是禁用 Windows Defender (2认同)

Sye*_*din 7

如果您不喜欢“禁用 Windows 10 “Ranswomare 安全保护”的方法,

  1. 然后转到 Windows 上的 python 安装目录
  2. 右键单击并选择属性。
  3. 转到安全选项卡。
  4. 通过编辑权限向当前用户授予所有访问权限

在此输入图像描述

再次运行设置注释,希望它能顺利运行。


小智 6

我意识到每当多次安装出现问题时,特别是那些很少发生的问题,比如设置环境,我都会使用Python安装的完整路径

[path to python installation folder]/python.exe -m venv env
Run Code Online (Sandbox Code Playgroud)

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


Ali*_*ahi 5

我使用 2 个版本的 Python 3.8 和 3.9。将我的 python.exe 文件更改为 python38.exe 后,我遇到了这个错误。我搜索并找到了这个答案

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

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

py -3.8 -m venv env 
Run Code Online (Sandbox Code Playgroud)

或者

py -3.9 -m venv env
Run Code Online (Sandbox Code Playgroud)