web-dev-qa-db-ja.com

Python Pyinstallerを使用したプログラムのフリーズ時にコンソール出力を取り除く

私は最近、祖父のためにPythonとTkinterのGUIを使用して、かなりシンプルなプログラムを作成しました。これは、彼がそれを使用する目的のために美しく機能します。コンソールの出力ウィンドウ。ファイルの拡張子を.pyから.pywに変更するだけで正常に削除できました。PyInstallerを使用してフリーズすると、再び表示されます!これを修正する方法はありますか?

前もって感謝します。

27
dfreeze

コンソールウィンドウを非表示にする場合は、 here がドキュメントです。これは--noconsoleオプションの使用方法です

python pyinstaller.py --noconsole yourscript.py

Pyinstallerを使用して--noconsoleオプションを使用する必要があるポイントに到達するためのヘルプが必要な場合 here はそこに到達するための簡単なチュートリアルです。

64
Stephan

--noconsoleフラグを追加するだけです:

$ python pyinstaller.py --noconsole yourprogram.py

フォルダーの代わりに単一の--onefileファイルを作成する.exeを使用することもできます。

11
Blender

これは、この情報の検索で最初に出てくるものの1つであるため、pyinstallerのリリース3.2で見つけたものを追加したいと思います。実行してスクリプトを既にパッケージ化した場合

pyinstaller --onefile your_script.py

または同様に、your_script.specファイルを編集してコンソールを削除できます。

    exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='main',
          debug=False,
          strip=False,
          upx=True,
          console=True )

コンソールの値をFalseに変更するだけです。次に実行します:

pyinstaller your_script.spec

さらに、コードを変更する場合は、上記のコマンドを実行して、それらをyour_script.exeに反映させます。これは、他のさまざまな問題のデバッグに役立ちます。

7
PileUpOKpull
Pyinstaller -F --noconsole yourfilename.pyw

これにより、単一の.exeファイルが作成されます

Pyinstaller --noconsole yourfilename.pyw

これを使用すると、フォルダー内のすべての.dllおよびその他の必要なファイルと共に.exeファイルを取得します。

0
Suparno