Python venv env 失败 - [WinError 2] 系统找不到指定的文件
Python venv env Fails - [WinError 2] The system cannot find the file specified
我在 Windows 10 机器上安装了最新版本的 Python 3.8.2。我以前有 Python 3.7,我卸载了它并在系统路径中确认它不再被引用。
安装最新版本后,我运行以管理员身份通过CMD:
py -m venv env
我得到这个错误:
错误:[WinError 2]系统找不到指定的文件:'C:\Users\test_user\Documents\app_test\env'
我知道 Python 路径在系统路径环境设置中,但不是专门针对用户的(不知道这是否有影响?)。
我也试过用powershell卸载virtualenv,然后重新安装,结果一样。
关于解决这个问题的其他地方有什么想法吗?
我发现 Windows Defender 现在具有阻止 access/changes 系统文件的功能。它默认添加了我的文档文件夹,以某种方式阻止我在 CMD 中创建任何文件夹,尽管有管理员访问权限。我希望这对其他人有帮助!!
简而言之——您可能需要修改或禁用您的 Windows10"Ranswomare Security Protection" 设置以允许您将文件写入您的目录。
我遇到了同样的问题。我发现这是由于将副本 python.exe 可执行文件重命名为 python3.exe 引起的。我这样做是因为我已经安装了 Python 2.7 和 Python 3.9 并配置了 环境变量 以使用 Python 2.7 和 python 命令和 Python 3.9 使用 python3 命令。这样我在 Python 2 的环境变量中的路径在 Python 3.
以上
要修复此问题,请编辑您的路径变量,以便 Python 3 路径将存在于 Python 2 路径之前。
此外,如果您也在使用 Python2,请转到安装位置并创建 python.exe 可执行文件的副本并将其重命名为 python2.exe.
然后当你 运行 python 命令时它会直接到 Python 3并使用 Python 2 你可以使用 python2 命令。
您可以通过 following this issue 找到更多相关信息。
我使用 Python 3.8 和 3.9 的两个版本。将我的 python.exe 文件更改为 python38.exe 后,我遇到了这个错误。我搜索并找到 this answer:
It looks like you might have renamed your python.exe executable to
python3.exe? I got this same error after following install
instructions that had me rename python.exe to be version-specific. I
renamed it back and python -m venv venv worked fine.
我 将我的 2 个主要 python 文件改回 python.exe,现在我只是 运行
py -3.8 -m venv env
或
py -3.9 -m venv env
在 Windows 10 日,您只需要 运行 以管理员身份运行脚本即可。
我意识到每当多次安装出现问题时,尤其是那些很少发生的问题,比如设置环境,我使用 python 安装的完整路径
[path to python installation folder]/python.exe -m venv env
这里要注意的是,如果您有一个名为 python2/3/27/37.exe 的 python.exe 副本,请务必调用原始可执行文件。
这解决了我的问题:
python -m pip install -U pip --user //In Windows
pip install -U pip --user //Linux, and MacOS
要克服这个问题 运行 py -m venv env --user
或者您也可以手动 运行 作为管理员的脚本
我遇到过同样的问题。并使用一个简单的技巧解决它。
有些包需要文件夹权限才能安装,为此使用具有管理员访问权限的 cmd,然后安装任何你想要的。安装包或环境后,它会为普通用户访问打开大门。
在新的 windows 系统中,最好使用具有管理员权限的 cmd 来避免这些错误
我得到了 WinError 2,因为我安装了多个不同版本的 python3,并且我将 python.exe 重命名为其他名称。我已经尝试了此 post 中提供的所有解决方案,包括关闭防火墙。不幸的是,我仍然遇到了 winerror。所以,我必须在 [python 路径]/Lib/venv/[= 中编辑 venv init 12=]init.py.找到 python_exe 变量并将其值从 python.exe 更改为新的 python 可执行文件名称(在我的如果是 python39.exe)。此外,找到名为 suffixes 的变量并将后缀列表中的 python.exe 更改为您的 python 可执行文件名称。最后,测试它制作一个env并激活它。 WinError 问题已解决。
您可能会遇到此错误,因为您的计算机上有两个或更多版本的 Python。
安装第二个版本时,您:
- 创建了环境变量(例如
PYTHON37_HOME -> C:/Users/..Python/Python37
)
- 在
Path
中指定了这个变量。
- 将文件
python.exe
重命名为 python37.exe
现在打开文件C:\Users\....\Python\Python37\Lib\venv\__init__.py
可以看到,通过执行setup_python()
函数,在suffixes = ['python.exe', ...]
中已经找不到python.exe
了,因为我们重命名了它。
因此您还必须将 suffixes = ['python.exe', ...]
重命名为 suffixes = ['python37.exe', ...]
。
再次执行 python37 -m venv venv
它应该可以工作
如果您不喜欢“禁用您的 Windows 10 “Ranswomare 安全保护”的方法,
- 然后转到 python 安装目录 windows
- 右键单击并选择属性。
- 转到安全选项卡。
- 通过编辑权限将所有访问权限授予当前用户
运行再次评论设置,希望它能正常工作。
我遇到了同样的问题,我升级了 venv 中的 pip,结果成功了。
我的问题是我无法像 django 这样在 venv 中安装任何东西,但是当我升级 pip 时一切顺利。
您必须使用的命令是:
Windows 命令提示符
> python -m pip install --upgrade pip
Linux 航站楼
$ pip install --upgrade pip
MacOS 终端
$ pip install --upgrade pip
我在 Windows 10 机器上安装了最新版本的 Python 3.8.2。我以前有 Python 3.7,我卸载了它并在系统路径中确认它不再被引用。
安装最新版本后,我运行以管理员身份通过CMD:
py -m venv env
我得到这个错误:
错误:[WinError 2]系统找不到指定的文件:'C:\Users\test_user\Documents\app_test\env'
我知道 Python 路径在系统路径环境设置中,但不是专门针对用户的(不知道这是否有影响?)。
我也试过用powershell卸载virtualenv,然后重新安装,结果一样。
关于解决这个问题的其他地方有什么想法吗?
我发现 Windows Defender 现在具有阻止 access/changes 系统文件的功能。它默认添加了我的文档文件夹,以某种方式阻止我在 CMD 中创建任何文件夹,尽管有管理员访问权限。我希望这对其他人有帮助!!
简而言之——您可能需要修改或禁用您的 Windows10"Ranswomare Security Protection" 设置以允许您将文件写入您的目录。
我遇到了同样的问题。我发现这是由于将副本 python.exe 可执行文件重命名为 python3.exe 引起的。我这样做是因为我已经安装了 Python 2.7 和 Python 3.9 并配置了 环境变量 以使用 Python 2.7 和 python 命令和 Python 3.9 使用 python3 命令。这样我在 Python 2 的环境变量中的路径在 Python 3.
以上要修复此问题,请编辑您的路径变量,以便 Python 3 路径将存在于 Python 2 路径之前。
此外,如果您也在使用 Python2,请转到安装位置并创建 python.exe 可执行文件的副本并将其重命名为 python2.exe.
然后当你 运行 python 命令时它会直接到 Python 3并使用 Python 2 你可以使用 python2 命令。
您可以通过 following this issue 找到更多相关信息。
我使用 Python 3.8 和 3.9 的两个版本。将我的 python.exe 文件更改为 python38.exe 后,我遇到了这个错误。我搜索并找到 this answer:
It looks like you might have renamed your python.exe executable to python3.exe? I got this same error after following install instructions that had me rename python.exe to be version-specific. I renamed it back and python -m venv venv worked fine.
我 将我的 2 个主要 python 文件改回 python.exe,现在我只是 运行
py -3.8 -m venv env
或
py -3.9 -m venv env
在 Windows 10 日,您只需要 运行 以管理员身份运行脚本即可。
我意识到每当多次安装出现问题时,尤其是那些很少发生的问题,比如设置环境,我使用 python 安装的完整路径
[path to python installation folder]/python.exe -m venv env
这里要注意的是,如果您有一个名为 python2/3/27/37.exe 的 python.exe 副本,请务必调用原始可执行文件。
这解决了我的问题:
python -m pip install -U pip --user //In Windows
pip install -U pip --user //Linux, and MacOS
要克服这个问题 运行 py -m venv env --user
或者您也可以手动 运行 作为管理员的脚本
我遇到过同样的问题。并使用一个简单的技巧解决它。 有些包需要文件夹权限才能安装,为此使用具有管理员访问权限的 cmd,然后安装任何你想要的。安装包或环境后,它会为普通用户访问打开大门。
在新的 windows 系统中,最好使用具有管理员权限的 cmd 来避免这些错误
我得到了 WinError 2,因为我安装了多个不同版本的 python3,并且我将 python.exe 重命名为其他名称。我已经尝试了此 post 中提供的所有解决方案,包括关闭防火墙。不幸的是,我仍然遇到了 winerror。所以,我必须在 [python 路径]/Lib/venv/[= 中编辑 venv init 12=]init.py.找到 python_exe 变量并将其值从 python.exe 更改为新的 python 可执行文件名称(在我的如果是 python39.exe)。此外,找到名为 suffixes 的变量并将后缀列表中的 python.exe 更改为您的 python 可执行文件名称。最后,测试它制作一个env并激活它。 WinError 问题已解决。
您可能会遇到此错误,因为您的计算机上有两个或更多版本的 Python。 安装第二个版本时,您:
- 创建了环境变量(例如
PYTHON37_HOME -> C:/Users/..Python/Python37
) - 在
Path
中指定了这个变量。 - 将文件
python.exe
重命名为python37.exe
现在打开文件C:\Users\....\Python\Python37\Lib\venv\__init__.py
可以看到,通过执行setup_python()
函数,在suffixes = ['python.exe', ...]
中已经找不到python.exe
了,因为我们重命名了它。
因此您还必须将 suffixes = ['python.exe', ...]
重命名为 suffixes = ['python37.exe', ...]
。
再次执行 python37 -m venv venv
它应该可以工作
如果您不喜欢“禁用您的 Windows 10 “Ranswomare 安全保护”的方法,
- 然后转到 python 安装目录 windows
- 右键单击并选择属性。
- 转到安全选项卡。
- 通过编辑权限将所有访问权限授予当前用户
运行再次评论设置,希望它能正常工作。
我遇到了同样的问题,我升级了 venv 中的 pip,结果成功了。 我的问题是我无法像 django 这样在 venv 中安装任何东西,但是当我升级 pip 时一切顺利。 您必须使用的命令是:
Windows 命令提示符
> python -m pip install --upgrade pip
Linux 航站楼
$ pip install --upgrade pip
MacOS 终端
$ pip install --upgrade pip