导入在python中工作,但在django中不工作
我已经读过几十个关于importorror的问题,但没有一个专门针对我的问题 我的结构如下:导入在python中工作,但在django中不工作,python,django,Python,Django,我已经读过几十个关于importorror的问题,但没有一个专门针对我的问题 我的结构如下: . ├── apps │ ├── accounts │ ├── core │ ├── apimanager │ ├── utils │ ├── modules │ │ ├── companies │ │ └── products ├── assets │ ├── apps │ └── libs ├── fabfile │ └── env ├── proje
.
├── apps
│ ├── accounts
│ ├── core
│ ├── apimanager
│ ├── utils
│ ├── modules
│ │ ├── companies
│ │ └── products
├── assets
│ ├── apps
│ └── libs
├── fabfile
│ └── env
├── project
└── templates
所有目录都有\uuuu init\uuuu.py
运行python
:
>>> from apps.modules import companies
>>> companies
<module 'apps.modules.companies' from 'apps/modules/companies/__init__.pyc'>
>>>
>>> from apps import modules
>>> modules
<module 'apps.modules' from 'apps/modules/__init__.pyc'>
>>>
>>> import apps
>>> apps
<module 'apps' from 'apps/__init__.pyc'>
如果python解释器可以导入所有包/子包,那么Django也应该能够这样做
我遗漏了什么?关于这个问题可能是一个bug。我得到的答案是:
我怀疑问题在于您的“应用程序”模块与
“django.apps”。Django正在尝试从
apps.modules.companys.models导入公司”相对于
“django.apps”。不确定Django是否能对此做些什么
因此,将
应用程序重命名为其他应用程序是解决方案。检查它们的系统路径
@RafaelCardoso中的差异唯一的区别是第一项;在python
中,第一项是'
,而在/manage.py
中,它是项目根目录。是否从同一目录运行这两项?从manage.py所在的位置往下走一步,并使用../manage.py shell调用它。@joelgoldstick是的,两者都来自同一个目录。我试过你刚才提到的,同样的输出。
Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
...
File "../django/apps/accounts/models.py", line 8, in <module>
from apps.modules.companies.models import Company
ImportError: No module named modules.companies.models