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命令。
您可以通过关注此问题找到更多信息。
您可能会遇到此错误,因为您的计算机上有两个或更多版本的 Python。安装第二个版本时,您:
PYTHON37_HOME -> C:/Users/..Python/Python37
)Path
。python.exe
为python37.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
应该可以了
我发现 Windows Defender 现在具有阻止访问/更改系统文件的功能。它默认添加了我的文档文件夹,尽管具有管理员访问权限,但以某种方式阻止我在 CMD 中创建任何文件夹。我希望这对其他人有帮助!!
简而言之——您可能需要修改或禁用 Windows 10 的“Ranswomare 安全保护”设置,以允许您将文件写入目录。
如果您不喜欢“禁用 Windows 10 “Ranswomare 安全保护”的方法,
再次运行设置注释,希望它能顺利运行。
小智 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 副本,请务必调用原始可执行文件。
我使用 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)