尝试从包的根目录导入__init__.py的ImportError

时间:2015-04-05 17:59:15

标签: python import python-import

我的项目是按照这样的方式构建的,

cred/
    LICENSE
    setup.py
    cred/
        __init__.py
        runserver.py
        resources/
            __init__.py
            event.py

在我的cred/cred/__init__.py我有一些代码可以创建各种变量,在整个软件包中使用(例如appapidb)。

我可以在from cred import app, api, db文件夹中的python文件中使用resources成功导入这些内容,但出于某种原因,我得到了,

$ python cred/runserver.py
Traceback (most recent call last):
  File "cred/runserver.py", line 1, in <module>
    from cred import app, api, db, initDB
ImportError: No module named 'cred'

from cred import app, api, db内进行runserver.py时。

我不知道如何解决这个问题,所以任何帮助都会受到赞赏:/ ...

更新

我不知道发生了什么变化,但当我回到项目工作时,它按预期运行。我怀疑我的环境中有一些缓存或其他东西搞乱了它:/ ...感谢@rfkortekaas给他的时间尝试回答!

1 个答案:

答案 0 :(得分:0)

您需要将子文件夹提供给导入,因为资源不在python路径上。

from cred.resources import app