繁体   English   中英

ImportError 试图相对导入超出顶级包

[英]ImportError attempted relative import beyond top-level package

这是我的项目结构:

.
├── connectapp
│   ├── __init__.py
│   ├── __pycache__
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── djangoproject
│   ├── __init__.py
│   ├── __pycache__
│   ├── asgi.py
│   ├── djangoproject.sqlite3
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── djangoproject.sqlite3
├── hackerapp
│   ├── Controllers
│   ├── Models
│   ├── Serializers
│   ├── __init__.py
│   ├── __pycache__
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   └── tests.py
├── manage.py
└── requirments.txt

当我在顶级文件夹中执行以下操作时:

python3 manage.py migrate hackerapp

我得到这个:

djangoproject/djangoproject/urls.py", line 19, in <module>
    from ..hackerapp.Controllers import PersonViewSet, DepartmentViewSet
ImportError: attempted relative import beyond top-level package

对我来说,导入应该可以工作,但不是,有人可以告诉我为什么吗?

我猜(?) migrate hackerapp是 manage.py 脚本的 cli 参数。 该错误意味着顶级文件夹不是包。 要将其放入包中,请添加一个(空) __init__.py文件,然后从该文件夹运行:

python -m manage migrate hackerapp # note no .py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM