簡體   English   中英

--noconsole 不適用於 Pyinstaller

[英]--noconsole not working with Pyinstaller

當我使用python myprogram.py運行我的程序python myprogram.py ,它按預期運行並且沒有彈出命令提示符。 當我使用pyinstaller myprogram.py -F --noconsole創建可執行文件時,會彈出一個空白的命令提示符。 這個命令提示符的標題是在 myprogram.py 中使用的 wkhtmltopdf.exe 程序的位置。 我不認為問題出在 wkhtmltopdf 上,因為當我運行python myprogram.py時沒有顯示命令提示符。 我認為這是 pyinstaller 的問題,但我認為使用 --noconsole 選項可以防止這種情況。 我也試過 --windowed。

當您在項目上運行 PyInstaller 時,是否還會出現 .SPEC 文件?

如果是這樣,請像這樣編輯 .SPEC 文件的 exe 字段:

exe = EXE(
      ...,
      console=False,
      ...
      )

然后在 .SPEC 文件上運行 PyInstaller。

如果之前沒有出現過 .SPEC 文件,請嘗試在您的項目上運行 PyInstaller 而不帶任何參數(因此只需pyinstaller myProgram.py )。 應該會出現一個 .SPEC 文件,你可以像上面一樣編輯它,然后重新運行 PyInstaller。

這是我對此的建議:注釋掉所有打印語句。 保持簡單,像這樣:

pyinstaller --onefile  --noconsole <filename>.py

我在讓noconsolewindowed選項在我的 Windows 10 機器上工作時遇到了很多麻煩。

我從.spec生成的.spec文件開始。
不知何故,它在EXE部分有一行: [('v', None, 'OPTION')],
當我將其注釋掉並添加非控制台和窗口選項時,它起作用了!
下面是工作部分:

       a.scripts,
       # [('v', None, 'OPTION')],
       exclude_binaries=True,
       name='my program name',
       debug=False,
       bootloader_ignore_signals=False,
          strip=False,
          upx=False,
          console=False,
          windowed=True)

我只能猜測有問題的行阻止了 PyInstaller 處理EXE語句的其余部分,因此它錯過了選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM