我正在努力改进我们团队开发的pip安装包。在集成到新版本之前,我无法导入我的改进和附加模块以进行全面测试。我知道这可能是命名空间问题,但我无法解决它们。我已经阅读了我能找到的内容,包括优秀的blog on import traps。
我正在为Jupyter中的库方法进行测试和应用。在尝试避免碰撞失败的情况下,我将其重命名为顶级包dir:
new_package/
setup.py
__init__.py
new_package_dir/
__init__.py
cool_things.py
dir1/
__init__.py
foo.py
dir2/
__init__.py
bar.py
我没有main()方法。我们正在使用python 3.6。软件包已设置好,以便顶级__init__.py文件包含:来自dir1 import *和来自dir2 import *。其他__init__.py文件为空。
在jupyter,我试过
import sys
sys.path.append('absolute_path_to_new_package_dir/')
import new_package_dir.dir1.foo as foo
以及其他几个变种。我收到错误ModuleNotFoundError:没有名为' new_package'的模块。
欣赏任何建议。我的问题看起来几乎与上面博客中描述的问题相同,除了我不想执行main(),我希望库可以在Jupyter中工作。