如果正在使用的工程和依赖的其它工程的包路径有重复部分时,需要在包的__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中加入。