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



我的项目是这样构建的,

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

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

我可以通过使用from cred import app, api, dbresources文件夹中的python文件中成功导入这些文件,但由于某种原因,我得到了

$ 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'

当在CCD_ 8内执行CCD_。

我不知道该怎么办才能修复它,所以任何帮助都将不胜感激:/。。。

更新

我不知道发生了什么变化,但当我重新开始这个项目时,它如期运行。我怀疑我的环境中有一些缓存或其他东西在干扰它:/。。。感谢@rfkortekaas花时间尝试回答!

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

from cred.resources import app

最新更新