PYTHONPATH
是Python搜索路径,默认我们import的模块都会从PYTHONPATH
里面寻找
打印PYTHONPATH
>>>import os
>>>print sys.path
['', '/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']
注意:sys.path 也可以用 os.sys.path 替换,两个应该是同一个命令,推荐使用sys.path, 因为 os.sys.path 在python document 中好像没有提及。
设置PYTHONPATH:
方法一:命令窗口添加路径
export PYTHONPATH=$PYTHONPATH:/home/test_BugScan/libs
注意:此方法只在当前命令窗口生效,即如果打开一个新的Terminal 窗口,定位到当前目录, 打印PYTHONPATH 是没有刚才加入的路径的。
方法二:在python 中添加
import sys
sys.path.append('/home/test_BugScan/libs/')
实例:
将windows中的代码同步到Linux中,文件等级:
BugScan
-test
-test_units.py
... ...
-libs
-units.py
... ....
test_units.py
import unittest
from libs.units import *
class TestFunc(unittest.TestCase):
pass
# 在执行文件时出现异常
>> ImportError: No module named libs
解决方案:
export PYTHONPATH=$PYTHONPATH:/home/test_BugScan/
# 执行成功
python -m unittest test_utils.TestFunc