我有一個關於分佈在多個目錄中的單個模塊的問題。Python從分佈在不同目錄的包中訪問模塊
比方說,我有這兩個文件和目錄:
~/lib/python
xxx
__init__.py
util
__init__.py
module1.py
module2.py
~/graphics/python
xxx
__init__.py
misc
__init__.py
module3.py
module4.py
所以後來在我的Python模塊,我這樣做:
import sys
pythonlibpath = '~/lib/python'
if pythonlibpath not in sys.path: sys.path.append(pythonlibpath)
import xxx.util.module1
其中工程。現在
,問題是,我需要xxx.misc.module3,所以我這樣做:
import sys
graphicslibpath = '~/graphics/python'
if graphicslibpath not in sys.path: sys.path.append(graphicslibpath)
import xxx.misc.module3
,但我得到這個錯誤:
ImportError: No module named misc.module3
好像它在某種程度上還記得在〜/ lib/python中有一個xxx包,然後嘗試從那裏找到misc.module3。
我該如何解決這個問題?
這似乎是python 3的正確答案,雖然有一個工作示例的解釋會很有用。 – funseiki 2018-02-16 18:37:14