1

その行を .bashrc (Mac では .profile) に入れてください。作業ディレクトリはパス上にあります。放っておきましょう、そうではありません。

export PYTHONPATH=$PYTHONPATH

行のあるシェルには env 出力に PYTHONPATH= 行があり、ないシェルにはないことに気付いたので、おそらくそれは重要です。PYTHONPATH に有効なディレクトリがあるが「:」文字で始まる場合、Python は現在の作業ディレクトリも追加します。(単純に PYTHONPATH を有効なディレクトリに設定すると、作業ディレクトリのインクルードが壊れます。)

これはなぜですか?現在の作業ディレクトリが sys.path にあることを確認するためのベスト プラクティスは何ですか?

4

2 に答える 2

2

確実にしたい場合は.、pythonpath に明示的に追加します。

export PYTHONPATH=.:$OTHER_DIRS:$PYTHONPATH

現在の作業ディレクトリを別のものに設定したい場合はsys.path、次のように設定する、次のように挿入PYTHONPATHして設定することができます。sitecustomize.pyusercustomize.py

sys.path.append(os.getcwd())

追記:

ユーザーごとのサイト パッケージが導入されて以来、そこにユーザー パッケージを配置することをお勧めします (フォルダ名は で取得できますsite.USER_SITE)。pip では、--userオプションを使用してパッケージを簡単にインストールすることもできるため、少なくとも私にとっては、PYTHONPATH.

于 2012-06-01T18:31:31.503 に答える
1

ドキュメントによると、(これで疑問が解消されるはずです)

PYTHONPATH は ENV です。VARIABLE THAT は、モジュール ファイルのデフォルトの検索パスを拡張します。フォーマットはシェルの PATH と同じです: os.pathsep で区切られた 1 つまたは複数のディレクトリ パス名 (たとえば、Unix ではコロン、Windows ではセミコロン)。存在しないディレクトリは黙って無視されます。

通常のディレクトリに加えて、個々の PYTHONPATH エントリは、純粋な Python モジュール (ソースまたはコンパイルされた形式) を含む zip ファイルを参照する場合があります。拡張モジュールは、zip ファイルからインポートできません。

デフォルトの検索パスはインストールによって異なりますが、通常は prefix/lib/pythonversion で始まります (上記の PYTHONHOME を参照)。これは常に PYTHONPATH に追加されます。

上記の「インターフェイス オプション」で説明したように、追加のディレクトリが PYTHONPATH の前の検索パスに挿入されます。検索パスは、変数 sys.path として Python プログラム内から操作できます。

于 2012-06-01T18:25:22.407 に答える