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

LinuxでPythonのパス(PYTHONPATH)を設定する方法

Linux環境でPythonにモジュールやパッケージを別のディレクトリからインポートさせたい場合、環境変数 PYTHONPATH を設定します。この記事では、一時的な設定方法と永続的な設定方法、そして設定時の注意点について解説します。

PYTHONPATHとは?

PYTHONPATH は、Pythonがモジュールやパッケージを検索する際に参照するディレクトリのリストを指定する環境変数です。標準ライブラリやインストール済みパッケージ以外の場所にあるコードを読み込みたいときに利用します。

一時的にPYTHONPATHを設定する方法

ターミナルで以下のように export コマンドを実行すると、現在のシェルセッション限定で PYTHONPATH を設定できます。

$ export PYTHONPATH=${PYTHONPATH}:${HOME}/foo

この例では、ホームディレクトリ直下の foo ディレクトリを PYTHONPATH に追加しています。ポイントは、既存の値を上書きするのではなく、末尾に追記しているという点です。${PYTHONPATH} を先頭に含めることで、すでに設定されているパスを保持したまま新しいディレクトリを追加できます。

複数のディレクトリを追加したい場合は、コロン(:)で区切って指定します。

$ export PYTHONPATH=${PYTHONPATH}:${HOME}/foo:${HOME}/bar

永続的に設定する方法

export コマンドによる設定は、ターミナルを閉じると失われます。恒久的に反映したい場合は、~/.bashrc~/.bash_profile(zshを使っている場合は ~/.zshrc)に同じ記述を追加してください。

$ echo 'export PYTHONPATH=${PYTHONPATH}:${HOME}/foo' >> ~/.bashrc
$ source ~/.bashrc

source コマンドを実行することで、設定を再ログインなしですぐに反映できます。

現在のPYTHONPATHを確認する方法

設定内容を確認したい場合は、次のコマンドを使用します。

$ echo $PYTHONPATH

また、Python側から確認する場合は以下のように実行します。

$ python -c "import sys; print(sys.path)"

注意点:むやみにPYTHONPATHを変更しない

多くの場合、PYTHONPATH を直接編集する必要はありません。むやみに変更すると、モジュールの解決順序が変わってしまい、意図しないバージョンのモジュールが読み込まれるなど、予期せぬトラブルの原因になりがちです。

プロジェクト固有の依存関係を管理したい場合は、PYTHONPATH の代わりに venvなどの仮想環境pip install -e .(開発モードでのインストール) を活用するのが推奨されます。これらの方法なら、環境を汚さずに安全にパッケージを管理できます。

  1. Linux PCを高速化する5つの方法|GRUB短縮からデスクトップ環境変更まで

    Linuxは強力なOSエコシステムとして、初期状態から優れた速度を発揮することが最大の魅力の一つですが、さらに高速化できるならそれに越したことはありません。本記事では、システムの速度に影響する要素を解説し、実際に動作を速めるための効果的な方法を複数ご紹介します。 スレッドスケジューリング 当初、Linuxはラウンドロビン方式の単純なスケジューリングアルゴリズムでタスクを処理していました。その後、Linuxはスレッドスケジューリングを継続的に改良し、「Completely Fair Scheduler(CFS)」と呼ばれる高度で拡張性の高い設計へと進化しました。 CFSは仮想実行時間(vir

  2. Pythonにパスを追加する方法|Windowsの環境変数設定でエラーを解消する手順

    Pythonとは? Pythonは1991年に初めてリリースされたプログラミング言語です。WindowsやmacOS、Linuxなど複数のOSで動作し、開発者はさまざまな用途のコードを記述・開発できます。Web開発、データ分析、AI・機械学習など幅広い分野で活用されており、その柔軟性と充実したサポート体制から、世界で最も広く使われているプログラミング言語のひとつとなっています。 コマンドプロンプトでpythonが認識されない原因 コマンドプロンプトで「python」と入力してもエラーが返され、正しく動作させるには毎回フルパスを指定しなければならないことがあります。これは、コマンドプロンプトが