Python でパッケージをインポートするときに検索パスを変更する方法

WBOY
リリース: 2023-05-29 09:46:05
転載
1104 人が閲覧しました

    モジュールインポート時のパス検索メカニズム

    1.1 パッケージインポート検索メカニズム

    Python のインポート操作は、基本的に私たちが日常行っている操作と似ています。指定したファイル名を持つファイルをコンピュータ内で検索します。ただし、Python は通常、私たちのようにローカル ディスク全体を検索しません。代わりに、検索の範囲と順序を制御できる独自の制御メカニズムを備えています。これにより効率を確保できます。同時に、ある程度の分離も達成できます。たとえば、Python は仮想実行環境を作成します。この原則に基づいて、異なる仮想実行環境、Python のインストール パス、インポート検索パスはすべて個別に分離されます。一般的に使用されます。仮想環境の保守および作成ツール。このコアは、Python のデフォルトのインストール パス、バージョン、パッケージ検索パス、その他の情報を変更することによっても実現されます。

    通常、インポート時のパッケージの検索順序と範囲は次のとおりです。

    1. 最初に、実行中のコマンドの現在のフォルダー、またはコマンドの現在の作業フォルダーを検索します。システム (Modify cwd コマンドを使用できます)

    2. 次に、環境変数 PYTHONPATH でファイル パスを検索します。

    3. 最後に、サイトパッケージを検索します。 Python インストール パス内のフォルダー (通常は pip を使用します。インストールされているすべてのパッケージはデフォルトでこのフォルダーに配置されます。もちろん、独自のパッケージを単にこのフォルダーに配置することもできるため、検索パスを変更する必要はありません)

    1.2 検索パスの変更

    中心となるアイデアは、1.1 で説明した 3 つの検索ノードの値を変更して、パッケージのインポート時に検索範囲を変更することです

    1.2.1 sys.path 変数を変更する

    sys.path 変数は、Python パッケージ検索パス内のすべてのフォルダーのパス (つまり、現在のフォルダー、PYTHONPATH 環境変数内のパス、およびこの変数はリストであり、sys.path.append や sys.path.insert などのメソッドを使用して、インポート時に検索するパスをリスト変数に追加して渡すことができます。

    ただし、このメソッドは実行時のみ有効であり、終了すると無効になります。

    1.2.2 PYTHONPATH 環境変数を変更する方法

    PYTHONPATH 環境変数は、Python パッケージをインポートする際の検索パスを管理する変数なので、環境にパスを追加することで変更できます。このメソッドは環境変数を変更するため、永続的であり、その影響はグローバルです。

    Mac コンピュータの場合、この環境変数を変更する方法は次のとおりです。

    1. ~/.bashrc ファイルを開きます。ファイルが存在しない場合は、次の手順で作成します。 touch コマンド

    2. ファイルに、export PYTHONPATH=your own dir :$PYTHONPATH と記述します。たとえば、~/test パスを環境変数に追加する場合は、export PYTHONPATH= ~/test :$PYTHONPATH

    3. コマンドラインでsource ~/.bashrcを実行します(主にシステムをリロードしてファイルを実行して、この変更を有効にします)

    1.2. 3 **.pth ファイルを追加する

    上記 2 つの方法は、一時的な変更か、全体的な変更の影響が大きすぎるかのいずれかです。最初の 2 つの方法の特徴。

    指定した Python インストール ディレクトリの下の site-packages ディレクトリ フォルダーに **.pth ファイルを追加し、検索するパスをそのファイル内に 1 行ずつ追加できます。

    添付ファイル: Python 検索パッケージのパスを一時的に追加する方法

    方法 1: (最初に Python を入力)

    import sys
    sys.path.append(‘路径')
    ログイン後にコピー

    (この方法は現在の Python でのみ有効です)

    方法 2:

    export PYTHONPATH=路径
    ログイン後にコピー

    (この方法はすべての Python で有効です)

    以上がPython でパッケージをインポートするときに検索パスを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:yisu.com
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!