16

我在 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 并重新安装,但结果相同。

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

4

11 回答 11

19

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

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

于 2020-10-29T04:30:40.563 回答
10

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

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

于 2020-05-13T04:24:00.977 回答
10

我使用 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 

或者

py -3.9 -m venv env
于 2021-02-01T04:48:09.930 回答
3

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

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

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

于 2021-04-06T22:52:01.600 回答
1

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

于 2021-03-19T10:21:26.130 回答
1

这解决了我的问题:

python -m pip install -U pip --user //In Windows 
pip install -U pip --user //Linux, and MacOS
于 2021-10-10T16:59:30.203 回答
0

我得到了 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 问题已解决。

于 2021-11-25T05:48:11.583 回答
0

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

于 2021-10-19T11:07:05.557 回答
0

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

  1. 然后去你在windows上的python安装目录
  2. 右键单击并选择属性。
  3. 去安全标签。
  4. 通过编辑权限将所有访问权限授予当前用户

在此处输入图像描述

再次运行设置注释,希望它可以正常工作。

于 2022-02-28T11:03:54.400 回答
0

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

在新的 Windows 系统中,使用具有管理员权限的 cmd 来避免这些错误总是一个好主意

于 2021-10-21T18:41:03.360 回答
0

您可能会遇到此错误,因为您的机器上有两个或多个版本的 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,它应该工作

于 2022-02-13T19:02:59.483 回答