如果正在使用的工程和依赖的其它工程的包路径有重复部分时,需要在包的__init__.py中作如下声明:
# http://www.python.org/dev/peps/pep-0382/
try:
import pkg_resources
pkg_resources.declare_namespace(__name__)
except ImportError:
# don't prevent use of paste if pkg_resources isn't installed
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
try:
import modulefinder
except ImportError:
pass
else:
for p in __path__:
modulefinder.AddPackagePath(__name__, p)
例如:当前工程为xglabc.coding,依赖xglabc.utils时,需要在两个代码包的xglabc/init.py中加入。
