$PYTHONPATHとsys.pathが一致していないようです

$PYTHONPATHとsys.pathが一致していないようです

フォルダーを永続的に追加したいのです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.pathPythonでは、モジュールの検索パスを指定する文字列のリストです。環境変数から初期化されPYTHONPATH、インストールに依存するデフォルトが追加されます。(Pythonオンラインドキュメント)。

sys.pathが の影響を受けるためにはPYTHONPATH、後者は環境変数でなければなりません。環境変数ではなく単なるシェル変数である場合、インタープリタからは見えませんpython。値を設定した後にエクスポートするか、または同時に次のようにすることで、環境変数に変換します。

export PYTHONPATH=/some/path:/goes/here

関連情報