Python の `sys.path` はどのように初期化されますか?

Susan Sarandon
リリース: 2024-10-30 09:42:27
オリジナル
554 人が閲覧しました

How is Python's `sys.path` Initialized?

Python の sys.path はどこから初期化されますか?

Python はモジュールとパッケージの堅牢な検索パスを提供するために sys.path を細心の注意を払って作成します。初期化プロセスには、さまざまな手順と考慮事項が含まれます。

sys.path を決定する手順:

  1. sys.executable を決定する: Python は次のことを識別します。オペレーティング システムからの絶対パス。このパスは sys.executable になります。
  2. sys.exec_prefix と sys.prefix:

    • を確立します。同じまたは親の pyvenv.cfg を確認します。 sys.executable のディレクトリ。
    • 設定されたホーム値または sys.executable のディレクトリを sys.prefix として使用します。
    • PYTHONHOME 環境変数を調べます。
    • ランドマークを検索しますファイル (例: lib/python/os.py) を使用して sys.exec_prefix と sys.prefix を決定します。
  3. sys.path を設定します:

    • スクリプト ディレクトリを sys.path に追加します (Linux/Mac の場合)。
    • PYTHONPATH の内容を含めます。
    • Python zip ファイルを追加します。
    • 関連するレジストリ キーからのパスを含めます (Windows のみ、pyvenv.cfg で applocal = true でない場合)。
  4. コンパイル時と動的値:

    • PYTHONPATH マクロで指定されたパス (sys.prefix に相対) を追加します。
    • sys.exec_prefix (Linux/Mac の場合) または sys.prefix ディレクトリ (Windows の場合) を含めます).
  5. フォールバック プレフィックスの決定:

    • sys.prefix を決定できなかった場合は、sys.prefix 内で動的に検索します。 sys.path.
  6. サイト パッケージ インポート:

    • サイト モジュールをインポートします。これにより、sys.path ベースのデータがさらに設定されます。 sys.prefix および sys.exec_prefix.

以上がPython の `sys.path` はどのように初期化されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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