ホームページ > バックエンド開発 > Python チュートリアル > PyInstaller --onefile 実行可能ファイルで外部ファイルにアクセスするにはどうすればよいですか?

PyInstaller --onefile 実行可能ファイルで外部ファイルにアクセスするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-21 15:52:10
オリジナル
967 人が閲覧しました

How Can I Access External Files in a PyInstaller --onefile Executable?

--onefile を使用して外部ファイルを PyInstaller にバンドルする

PyInstaller の --onefile を使用して単一ファイルの実行可能ファイル (.exe) を作成しようとするときonefile オプションを使用すると、ユーザーは画像やアイコンなどの外部ファイルを組み込むときに問題が発生する可能性があります。このオプションは便利でポータブルなアプリケーションを生成しますが、アプリケーションの機能に寄与する追加フ​​ァイルの検索に失敗することがよくあります。

この問題を解決するために、以前のバージョンの PyInstaller は、環境変数を設定してファイルの場所を指定することに依存していました。追加のファイル。ただし、PyInstaller の最近の更新により、このアプローチが変更されました。 --onefile モードで外部ファイルにアクセスする現在の方法は、sys._MEIPASS 変数を使用します。

次のコードは、更新されたアプローチを使用して外部ファイルにアクセスする方法を示しています。

import sys

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)
ログイン後にコピー

By外部ファイルへの相対パスを使用してこの関数を呼び出すと、アプリケーションを開発環境から実行しているか、PyInstaller で生成されたファイルから実行しているかに関係なく、絶対パスを取得できます。実行可能ファイル。

以上がPyInstaller --onefile 実行可能ファイルで外部ファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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