ホームページ > バックエンド開発 > Python チュートリアル > PyInstaller の --onefile オプションを使用してデータ ファイルを適切にバンドルするにはどうすればよいですか?

PyInstaller の --onefile オプションを使用してデータ ファイルを適切にバンドルするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-18 13:38:10
オリジナル
965 人が閲覧しました

How Can I Properly Bundle Data Files with PyInstaller's --onefile Option?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート