pyinstaller无法在命令行运行,提示failed to create process.

发布于 2022-09-02 20:02:12 字数 191 浏览 28 评论 0

$ pip install pyinstaller

后运行:

$ pyinstaller -F 文件

pyinstaller无法在命令行运行,会提示报错:

failed to create process.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟凡古楼 2022-09-09 20:02:12

我了解了一下感覺上應該是 pip 的一個 bug Spaces in Python path make pip-installed launchers fail on Windows


原因分析:

簡單來說就是 shebang line (script 裡面指定 python path 的那一行) 裡面有空白導致的,可能就是安裝 Python 的路徑上有空白而且 pip 在安裝的時候沒正確幫你加上引號,例如你的 Python 在:

C:\Program Files (x86)\Python35-32\python.exe
          ^     ^           
          空白惹事

然後用 pip 安裝的 Pyinstaller 的 script 裡面對於路徑上的空白沒有正確的用 引號 處理好:

#!C:\Program Files (x86)\Python35-32\python.exe  <-- 這個 shebang line 有問題,因為空白
# EASY-INSTALL-ENTRY-SCRIPT: 'PyInstaller==3.1.1','console_scripts','pyinstaller'

以上是原因


解決辦法:

有一些 workaround 的方式可以解決,第一個是你直接去 pyinstaller 的 script 裡面利用引號把空白問題給搞定(在 Python 目錄下的 Script 子目錄下):

#!"C:\Program Files (x86)\Python35-32\python.exe"  <-- 這個 shebang line 有問題,因為空白,我們補上前後的引號
# EASY-INSTALL-ENTRY-SCRIPT: 'PyInstaller==3.1.1','console_scripts','pyinstaller'

或是直接用 Python 運行 script (不透過 shebang line 了):

C:>"C:\Program Files (x86)\Python35-32\python.exe" "C:\Program Files (x86)\Python35-32\Scripts\pyinstaller-script.py" script_to_compile.py

我查到還有人用一招,重裝 Python 在路徑沒有空白的地方(笑),真的也是一招。

听风吹 2022-09-09 20:02:12

你还在Windows上用Python?而且还不用Conda?

快看这篇文章
[原] 容器定义应用:数据科学的容器革命

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文