ホームページ >バックエンド開発 >Python チュートリアル >PyInstaller の --onefile オプションを使用してデータ ファイルを適切にバンドルするにはどうすればよいですか?
PyInstaller によるデータ ファイルのバンドル (--onefile): ファイル参照の問題の解決
- を使用して実行可能ファイルを PyInstaller にバンドルしようとするとき-onefile オプションを使用して、画像やアイコンなどの追加ファイルを組み込むのは難しい場合があります。この問題は、コンパイルされた実行可能ファイルがこれらの参照ファイルを特定できないことが原因で発生します。
考えられる解決策の 1 つは、実行可能ファイルのパスに環境変数を設定することです。以前の PyInstaller バージョンでは、これは Shish メソッドを使用して実現されていました。ただし、PyInstaller の最近の更新により、このアプローチは廃止されました。
この問題を解決するために、実行可能ファイルへのパスは sys._MEIPASS に保存されるようになりました。次のコードは、このパスにアクセスする方法を示しています。
def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyInstaller """ try: # PyInstaller creates a temp folder and stores path in _MEIPASS base_path = sys._MEIPASS except Exception: base_path = os.path.abspath(".") return os.path.join(base_path, relative_path)
この変更されたアプローチを利用すると、コンパイルされた実行可能ファイルは必要なデータ ファイルを正常に見つけて利用し、シームレスな機能を保証します。
以上がPyInstaller の --onefile オプションを使用してデータ ファイルを適切にバンドルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。