无法从父包导入子包

时间:2017-08-19 18:57:06

标签: python-2.7 python-import

我正在开发一个项目,其中我有主包需要导入的子包,但是由于某种原因,python解释器无法找到所述子包。在搜索互联网后我无法找到解决问题的方法,虽然我可能会补充说有很多关于python的导入系统的问题没有提供任何有用的信息。 这是我在使用setup.py全局安装我的包后运行一个简单的脚本时的追溯:

Traceback (most recent call last):
  File "lab_test.py", line 1, in <module>
    import Lab
  File "/usr/local/lib/python2.7/dist-packages/Lab-0.7.0-py2.7.egg/Lab/__init__.py", line 1, in <module>
    import shutil, argparse, sys, Tasks, Utilities, C
ImportError: No module named C

这是我的项目结构:

project structure

这是危险的导入语句,我想补充一点,我也尝试过使用from语法,但也失败了(它位于Lab/__init__.py内):

import statement

非常感谢所提供的任何帮助,如果我能提供更多信息,我会很高兴。

1 个答案:

答案 0 :(得分:0)

确定。所以回答我自己的问题有点愚蠢,但如果有人碰巧犯了与我相同的错误,那么我希望这是有用的。

基本上当我的包在我的安装文件中构建时,它只构建主包而不是子包。因此,将此额外参数添加到安装功能的软件包部分解决了我的问题,我能够安装整个软件包并毫无问题地使用它。

solution