3

PyInstaller を使用して、python2.7 パッケージ用の mac os x アプリ バンドルをビルドしました。アプリのアイコンをダブルクリックすると、コンソール ウィンドウが一時的にポップアップ表示されましたが、すぐに消えました。ただし、展開された「Contents/MacOS/executable」をダブルクリックすると、予期したウィンドウが正しくポップアップ表示されました。

以下は、拡張されたアプリのコンテンツの短い画面です。Frameworks フォルダーは空で、Resources フォルダーにはアイコンが含まれ、MacOS フォルダーにはすべてのバイナリ ライブラリと実行可能ファイルが含まれています (上記のように正常に実行されています)。info.plist の変更が役立つかどうかはわかりません。

ここに画像の説明を入力

4

2 に答える 2

1

-w旗を使ってみましたか?ドキュメントから:

-w, --windowed, --noconsole

ウィンドウ化されたサブシステム実行可能ファイルを使用します。これは、Windows では、プログラムの起動時にコンソールを開きません。Mac OS X で .app バンドルを作成する場合、このオプションは必須です。

于 2013-08-21T18:41:39.470 に答える
0

これが何を意味するのかわかりません:「アプリケーションはバックグラウンドのみです=はい」?

アプリ foo と Pyinstaller の ...947 ビルド (最近の開発バージョン) で問題を再現しようとしました。 --onefile --windowed args を Pyinstaller に使用しました。Finder で build/foo をダブルクリックするとコンソールが起動し、アプリ ウィンドウが表示されることがわかりました。バンドル build/foo.app をダブルクリックしてもコンソールが起動しないようで、アプリ ウィンドウが表示されます。言い換えれば、それは私にとってはうまくいきます。

一方、別のパッケージャーを試してみました: Whitebox Packages パッケージ を作成する際に、pyinstaller/foo/build/foo ファイル (実行可能ファイル) をバンドルに入れました。「パッケージ」は、私がインストールした.mpkgファイルを作成しました。次に、アプリを呼び出すと、コンソールが表示され、アプリのウィンドウが表示されました。(これは良くありません。コンソールは必要ありません。) コンソールなしでアプリを起動するパッケージの属性がわかりません。実行可能ファイルにコンソールを起動するシェルが含まれているとは思いません。コンソールを起動しているのはOSXでなければなりません。

おそらく、他のツールが存在するため、「配布用のパッケージ化」を正しく行うことは、PyInstaller プロジェクトの優先順位の高いものではありません。

于 2014-01-02T13:19:53.777 に答える