Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
环境变量不在Python解释器中_Python_Environment Variables - Fatal编程技术网

环境变量不在Python解释器中

环境变量不在Python解释器中,python,environment-variables,Python,Environment Variables,嗨,我刚刚碰到一件奇怪的事 在my.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:

嗨,我刚刚碰到一件奇怪的事

在my.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'
现在当我这么做的时候

export PYTHONPATH=$PYTHONPATH
在我运行python解释器之前,它可以工作

发生了什么事?

这是有效的:

% PYTHONPATH=$PYTHONPATH:/tmp python
在Python中:

>>> import os
>>> os.environ["PYTHONPATH"]
':/tmp'

您是否导出了变量

export PYTHONPATH ParaView_DIR
LD_LIBRARY_路径可能已在其他启动文件中导出。导出变量后,它将保持这种状态

导出变量将使其成为环境变量,如果不导出,则它只是shell的本地变量,子进程不会获得副本

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

setenv PYTHONPATH $PYTHONPATH

如果没有
export
setenv
,会发生什么?是的,因为环境变量和启动的
python
程序位于同一行。在这种情况下,不需要导出。
setenv PYTHONPATH $PYTHONPATH