我对tcsh没有多少经验,但我对学习很感兴趣.我一直在让Python看到PYTHONPATH.我可以回显$ PYTHONPATH,这是正确的,但是当我启动Python时,我的路径不会出现在sys.path中.有任何想法吗?
编辑:
[dmcdonal@tg-steele ~]$ echo $PYTHONPATH
/home/ba01/u116/dmcdonal/PyCogent-v1.1
>>> from sys import path
>>> from os import environ
>>> path
['', '/apps/steele/Python-2.5.2/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg', '/apps/steele/Python-2.5.2/lib/python2.5/site-packages/FiPy-2.0-py2.5.egg', '/apps/steele/Python-2.5.2', '/apps/steele/Python-2.5.2/lib/python25.zip', '/apps/steele/Python-2.5.2/lib/python2.5', '/apps/steele/Python-2.5.2/lib/python2.5/plat-linux2', '/apps/steele/Python-2.5.2/lib/python2.5/lib-tk', '/apps/steele/Python-2.5.2/lib/python2.5/lib-dynload', '/apps/steele/Python-2.5.2/lib/python2.5/site-packages', '/apps/steele/Python-2.5.2/lib/python2.5/site-packages/Numeric']
>>> environ['PYTHONPATH']
'/apps/steele/Python-2.5.2'
Run Code Online (Sandbox Code Playgroud)
Rya*_*ght 10
你是如何设置PYTHONPATH的?你可能会混淆tcsh的设置与setenv.使用"set"设置tcsh调用shell变量的内容,并使用"setenv"设置环境变量.因此,您需要使用setenv才能让Python看到它.例如:
$ set FOO='bar'
$ echo $FOO
bar
$ python -c 'import os; print os.getenv("FOO")'
None
$ setenv BAR 'wiz'
$ echo $BAR
wiz
$ python -c 'import os; print os.getenv("BAR")'
wiz
Run Code Online (Sandbox Code Playgroud)
tcsh文档的变量部分提供了更多信息.