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_DIR,但LD_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 可能已经在您的其他启动文件之一中导出。一旦变量被导出,它就会保持这种状态。

导出变量使其成为环境变量,如果您不这样做,export那么它只是 shell 的本地变量,并且子进程不会获得副本。

如果您使用的是 C-shell(通常由 % 提示符指示),则语法不同:

setenv PYTHONPATH $PYTHONPATH
于 2012-10-23T10:40:07.230 回答