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