当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块。可以通过sys.path查看这些路径,比如:
>>> import sys >>> sys.path ['', '/usr/lib/python2.7/site-packages/demo_nova_hooks-5-py2.7.egg', '/usr/lib64/python27.zip', '/usr/lib64/python2.7',
'/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload',
'/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']
其中的空字符串表示当前工作目录。
当安装第三方模块的时候,如果不是按照标准方式安装,则为了能够引用(import)这些模块,必须将这些模块的安装路径添加到sys.path中
将模块路径加到当前模块扫描的路径里:
sys.path.append('模块的路径')。 sys.path.insert(0,'模块的路径')
永久添加路径到sys.path中:
1)将写好的py文件放到当前环境python安装目录的site-packages 目录下
2) 在 当前环境python安装目录的site-packages 目录下下面新建一个.pth 文件(以pth作为后缀名)
将模块的路径写进去(vim pythonmodule.pth),一行一个路径,如:
/opt/alpen
/opt/alpen/remote
3) 使用PYTHONPATH环境变量(尽量少用,易出错)
export PYTHONPATH=$PYTHONPATH:/opt/alpen/remote