GNU/Linux >> Linux の 問題 >  >> Linux

Python スクリプトで、PYTHONPATH を設定するにはどうすればよいですか?

os.environ 経由で環境変数を取得および設定できます :

import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."

ただし、インタープリターは既に実行されているため、これは何の効果もありません。使ったほうがいい

import sys
sys.path.append("...")

これはあなたの PYTHONPATH の配列です インタープリターの起動時に変換されます。


sys.path.append('dir/to/path') を入れると すでに追加されていることを確認せずに、sys.path で長いリストを生成できます。 .そのために、私はこれをお勧めします:

import sys
import os # if you want this directory

try:
    sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
    sys.path.append('/dir/path') # Or os.getcwd() for this directory

PYTHONPATH を設定していません 、 sys.path にエントリを追加します .これは、Python パッケージを検索する必要があるディレクトリのリストであるため、ディレクトリをそのリストに追加するだけです。

sys.path.append('/path/to/whatever')

実際、sys.path PYTHONPATH の値を分割することによって初期化されます パス区切り文字 (: Linux ライクなシステムでは ;

site.addsitedir を使用してディレクトリを追加することもできます 、そしてそのメソッドは .pth も考慮に入れます 渡すディレクトリ内に存在するファイル。 (PYTHONPATH で指定するディレクトリには当てはまりません) .)


PYTHONPATH は実行時に変更できる sys.path になります。

import sys
sys.path += ["whatever"]

Linux
  1. Sys ::Detector ::Virtualization Perlスクリプトを使用して仮想化を検出する方法は?

  2. BashスクリプトをBashにパイプするときにパラメータを設定する方法は?

  3. シェルからPythonスクリプトを実行する方法

  1. Pythonのmatplotlibで「バックエンド」を設定するにはどうすればよいですか?

  2. Pythonスクリプトを使用してLinuxターミナルを終了するには?

  3. bashスクリプトでpythonスクリプトを強制終了する方法

  1. Python でファイルまたはディレクトリの所有者を見つける方法

  2. どのpythonとPYTHONPATH

  3. デフォルトの PYTHONPATH (sys.path) をグローバルに変更するには?