
フォルダーを永続的に追加したいのですsys.path
が、うまくいきません。
私の Debian Stretch では、次を実行します:
$ echo $PYTHONPATH
空っぽに見える
同時に、 の内容を印刷すると、 に含まれるパス(および明らかに)sys.path
とは異なる 10 個の異なるパスがあります。 これはどのように説明できますか?$PATH
$PYTHONPATH
(フレームワーク用の仮想環境を作成する必要がありましたが、現在は使用していないと思うので、おそらく関係ありませんが、その概念に慣れていないので、何かを見逃している可能性があります)
.bashrc
また、パスを追加するように変更しようとした$PYTHONPATH
ので、次の行がわかりました。
PYTHONPATH=$PYTHONPATH:~/bin
再起動後、動作します。つまり、$PYTHONPATH にはそれが含まれていますが、何も変わりませんsys.path
。
また、$ env | grep ^PYTHON
何も返しません。
では、どのようにsys.path
入力し、そこにフォルダーを永続的に追加するにはどうすればよいでしょうか?
答え1
sys.path
Pythonでは、モジュールの検索パスを指定する文字列のリストです。環境変数から初期化されPYTHONPATH
、インストールに依存するデフォルトが追加されます。(Pythonオンラインドキュメント)。
sys.path
が の影響を受けるためにはPYTHONPATH
、後者は環境変数でなければなりません。環境変数ではなく単なるシェル変数である場合、インタープリタからは見えませんpython
。値を設定した後にエクスポートするか、または同時に次のようにすることで、環境変数に変換します。
export PYTHONPATH=/some/path:/goes/here