Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのモジュール検索パスとは?sys.pathとPYTHONPATHの仕組みを解説

Pythonでimport文を使ってモジュールをインポートすると、インタープリタはあらかじめ決められた順序に従ってモジュールを探します。この検索の流れを理解しておくと、「モジュールが見つからない」というエラーへの対処や、自作モジュールの管理がぐっと楽になります。

モジュールが検索される順序

Pythonインタープリタは、以下の順序でモジュールを検索します。

  1. カレントディレクトリ(現在の作業ディレクトリ)
  2. 見つからない場合、シェル変数 PYTHONPATH に設定されている各ディレクトリを順番に検索
  3. それでも見つからない場合は、デフォルトパスを確認。UNIX系OSでは、通常 /usr/local/lib/python/ がデフォルトパスとなります

モジュール検索パスは sys.path に格納される

これらのモジュール検索パスは、標準ライブラリの sys モジュール内にある sys.path 変数に格納されています。sys.path の中身は次の3つで構成されます。

  • カレントディレクトリ
  • 環境変数 PYTHONPATH に指定されたディレクトリ群
  • Pythonのインストール時に決まるデフォルトパス

実際に自分の環境でどのようなパスが設定されているかは、次のコードで簡単に確認できます。

import sys
print(sys.path)

PYTHONPATH 環境変数とは

PYTHONPATH は、ディレクトリのリストで構成される環境変数です。その構文は、シェル変数の PATH とまったく同じ形式になっています。ここに追加したディレクトリは、Pythonがモジュールを探す対象として自動的に認識されます。

Windowsでの設定例

set PYTHONPATH = c:\python20\lib;

UNIX系OSでの設定例

set PYTHONPATH = /usr/local/lib/python

複数のディレクトリを指定したい場合は、Windowsではセミコロン(;)、UNIX系OSではコロン(:)で区切って列挙します。プロジェクトごとに独自のモジュールを読み込みたいときなどに、PYTHONPATH の設定は非常に便利です。

  1. WindowsでPythonの環境変数PYTHONPATHを設定する方法

    ```html Windows環境で、モジュールやパッケージのインポート先としてPythonに別のディレクトリを認識させたい場合、環境変数「PYTHONPATH」を設定します。本記事では、具体的な設定手順と、変更時に知っておくべき注意点をわかりやすく解説します。PYTHONPATHを設定する手順まず、以下の順序で環境変数の設定画面を開きます。マイコンピュータ > プロパティ > システムの詳細設定 > 環境変数次に、「システム環境変数」の一覧から「PythonPath」変数を選択して編集します。既存のPYTHONPATHの末尾にセミコロン(;)を付け、その後に追加したいディレ

  2. MacでPythonの環境変数PYTHONPATHを設定する方法【初心者向け解説】

    MacでPythonを使っていると、標準のディレクトリ以外にある自作モジュールやパッケージを読み込みたい場面があります。そんなときに活躍するのが環境変数 PYTHONPATH です。この記事では、macOSでのPYTHONPATHの設定方法と、注意すべきポイントをわかりやすく解説します。PYTHONPATHとは?PYTHONPATHは、Pythonがモジュールやパッケージをインポートする際に検索する追加ディレクトリを指定するための環境変数です。ここにパスを追加すると、そのディレクトリ内のモジュールをどこからでもインポートできるようになります。一時的にPYTHONPATHを設定する方法ターミナル