2

こんにちは、私は奇妙なことに出くわしました。

私の .bashrc では、次のようになります。

PYTHONPATH=$PYTHONPATH:/home/pschu/ParaView-3.14.1-Build/Utilities/VTKPythonWrapping/site-packages:home/pschu/ParaView-3.14.1-Build/bin

ParaView_DIR=/home/pschu/ParaView-3.14.1-Build

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pschu/ParaView-3.14.1-Builds/bin

だから今、私はpythonインタープリターを起動して次のように入力します:

>>>os.environ['PYTHONPATH']
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/lib64/python2.7/UserDict.py", line 23, in __getitem__
 raise KeyError(key)
KeyError: 'PYTHONPATH'

と同じエラーですがParaView_DIRLD_LIBRARY_PATHパスが追加されています。

シェル内に存在します。

echo $PYTHONPATH
:/home/pschu/ParaView-3.14.1-Build/Utilities/VTKPythonWrapping/site-packages:home/pschu/ParaView-3.14.1-Build/bin

今私がするとき

export PYTHONPATH=$PYTHONPATH

Pythonインタープリターを実行する前に、動作します。

何が起こっていますか?

4

2 に答える 2

2

これは機能します:

% PYTHONPATH=$PYTHONPATH:/tmp python

Pythonの場合:

>>> import os
>>> os.environ["PYTHONPATH"]
':/tmp'
于 2012-10-23T10:40:06.297 に答える
1

あなたexportは変数でしたか?

export PYTHONPATH ParaView_DIR

LD_LIBRARY_PATHは、おそらく他のスタートアップファイルの1つにすでにエクスポートされています。変数がエクスポートされると、その状態が維持されます。

変数をエクスポートすると、それは環境変数になります。そうでない場合export、それはシェルに対してローカルであり、子プロセスはコピーを取得しません。

Cシェル(多くの場合、%プロンプトで示されます)を使用している場合、構文は異なります。

setenv PYTHONPATH $PYTHONPATH
于 2012-10-23T10:40:07.230 に答える