pip in venv on Windows 10: 'Fatal error in launcher: Unable to create process using '"c:\users\..." ' 在烧瓶教程中遇到

pip in venv on Windows 10: 'Fatal error in launcher: Unable to create process using '"c:\users\..." ' encountered during flask tutorial

我正在阅读 Flask 教程,但遇到一个问题,我无法在 Powershell 中使用 pip(因此实际上无法使用其他任何东西)和 venv。在 WSL 中使用 Python 3.6.6 在 Ubuntu 终端中正确地使用相同的烧瓶应用程序 运行s。

问题似乎与目录有关,这让我觉得它与文件路径长度有某种关系;我在 windows 组编辑器中启用了长文件路径,但这并没有解决问题。在下面的步骤中,我的 venv 目录是 c:\users\rwgpu\google-drive\code\flask-tutorial\winEnvflaskr\,我遇到了错误,但在目录 C:\python\test\testVenv 中一切正常。 (在每种情况下,我都运行将上面列出的目录中的命令分别设置为 flask-tutorial 和 test)

重现的最少步骤是:

全新Python3.7安装

将目录更改为应用程序文件夹。

py -m venv winEnvFlaskr

./winEnvFlaskr/Scripts/activate

pip list

最终目标是

pip install FLask

和 运行 Flask 教程应用程序。同样,所有步骤在 WSL 中的 Bash 和 Ubuntu 中(运行 自己的 Python)和具有相同 Python 3.7。

在 pip list 之后我得到错误:

Fatal error in launcher: Unable to create process using '"c:\users\rwgpu\google-drive\code\flask-tutorial\winenvflaskr\scripts\python.exe"  "C:\Users\rwgpu\Google-Drive\Code\flask-tutorial\winEnvFlaskr\Scripts\pip.exe" list'

如果我尝试

python -m pip list

我一无所获;终端挂起一秒钟, returns 没有输出。如果我运行

py -m pip install -U pip

在有问题的 venv 中,它将尝试安装并报告成功。它将再次执行此操作,并且永远不会报告正确的 "requirement already satisfied"。

好吧,我仍然不知道为什么会这样——它通过删除和重新创建 venv(很明显)而持续存在,但是当我删除整个文件夹时,它以某种方式清除了。我刚刚将代码复制到同一个父目录中的一个新目录中,一切似乎都在工作 ¯\_(ツ)_/¯

如果有人知道是什么导致了我的情况,我仍然欢迎提供意见。

我在 Windows 上遇到了同样的问题,在 venv 的命令行中使用 运行ning flask(例如,“(venv)...\flask 运行”)。我通过在 flask.exe 代码中更改路径(用记事本等打开 "your_venv\Scripts\flask.exe" 等)解决了这个问题:我以我的方式在最后更正了第 436 行;你需要放在那里 "your_absolute_path_to_venv\Scripts\python.exe" 而不是那里指示的路径。 祝你好运!