Pythonで独自モジュールのディレクトリパスを通す方法

記事内に広告が含まれています。

Pythonでアプリケーションを開発を進めていくと、共通モジュールが多くできてきます。

そのモジュールをimportするにはそのスクリプトがある場所をPythonに教える必要があります。

この記事ではPyhtonに独自モジュールのパスを設定する方法を解説します。

独自モジュールのディレクトリパスを通す

Pythonで独自モジュールのディレクトリパスを通す方法は3つあります。

環境変数「PYTHONPATH」を設定する方法

環境変数「PYTHONPATH」を設定すると新たにPythonに独自モジュールの検索パスを追加することができます。

set PYTHONPATH=./myLibs;./myModule;

上記の例では動作ディレクトリ直下のmyLibsとmyModuleをモジュールの検索対象フォルダーに追加しています。

sys.path.append()で設定する方法

Pythonの標準モジュールのsys.path.append()を使うと新たにPythonに独自モジュールの検索パスを追加することができます。

import	os
sys.path.append( "./myLibs" )
sys.path.append( "./myModule" )

上記の例では動作ディレクトリ直下のmyLibsとmyModuleをモジュールの検索対象フォルダーに追加しています。

.pthファイルを作成する方法

設定ファイル「.pthファイル」をPythonの特定のフォルダーに設置すると新たにPythonに独自モジュールの検索パスを追加することができます。

まずは「.pthファイル」の置き場所を検索します。

import pprint
import sys
pprint.pprint( sys.path )

上記のコードを実行すると

['C:\\python_test\\py_test',
 'C:\\xxxxxxx\\Python37\\python37.zip',
 'C:\\xxxxxxx\\Python37\\DLLs',
 'C:\\xxxxxxx\\Python37\\lib\\site-packages'
                ・
                ・
                ・
 'C:\\xxxxxxx\\Python37\\lib\\site-packages\\win32',
 'C:\\xxxxxxx\\Python37\\lib\\site-packages\\win32\\lib',
 'C:\\xxxxxxx\\Python37\\lib\\site-packages\\Pythonwin']

のようなフォルダー一覧が表示されます。
(表示結果は見やすいように編集してあります。)

この中の「site-packages」が含まれるフォルダー(上記の例「C:\\xxxxxxx\\Python37\\lib\\site-packages」)に「.pthファイル」を作成しておきます。

.pthファイルの中身は1つの追加フォルダーごとの行で記述します。

C:\\python_test\\myLibs
C:\\python_test\\myModule

.pthファイルのファイル名は拡張子が「.pth」であればなんでもOKです。

上記の例では動作ディレクトリ直下のmyLibsとmyModuleをモジュールの検索対象フォルダーに追加しています。

まとめ

Pythonで独自モジュールのディレクトリパスを通す方法は3つあります。

  1. 環境変数「PYTHONPATH」を設定
  2. sys.path.append()で設定
  3. .pthファイル作成

それぞれ使いやすい方法を採用すると良いと思います。

タイトルとURLをコピーしました