![](/img/trans.png)
[英]Flask on PyCharm - ImportError: attempted relative import with no known parent package
[英]ImportError: attempted relative import with no known parent package in flask
文件夹结构
.
├── myapp
│ ├── api
│ │ └── routes.py
│ ├── app.py
│ |
│ └── site
│ └── routes.py
app.py 位于 api 文件夹和站点文件夹之外的 myapp 文件夹中
api/routes.py
from flask import Blueprint
api = Blueprint('api',__name__,url_prefix='api')
@api.route('/userlist/')
def user():
return { 1: 'user1', 2:'user2'}
站点/路由.py
from flask import Blueprint
site = Blueprint('site',__name__)
@site.route('/')
def index():
return 'Welcome to the Home page'
应用程序.py
from flask import Flask
from .site.routes import site
from .api.routes import api
def create_app():
app = Flask(__name__)
app.register_blueprint(api)
app.register_blueprint(site)
return app
在终端中使用“flask run”命令运行 flask 应用程序时出现此错误
Traceback (most recent call last):
File "app.py", line 2, in <module>
from .site.routes import site
ImportError: attempted relative import with no known parent package
我不明白如何解决这个问题。 提前致谢:)
我相信 Python 认为您的导入点是相对导入(它显然找不到)。
尝试使用以下内容导入:(如果 app.py 在您的 myapp 文件夹上方)
from myapp.site.routes import site
尝试使用以下内容导入:(如果 app.py 在您的 myapp 文件夹中)
from site.routes import site
请在每个文件夹中添加空的__init__.py
然后尝试from myapp.site.routes import site
只需做一个小改动。 旧代码:
api = Blueprint('api',__name__,url_prefix='api')
新代码:
api = Blueprint('api',__name__,url_prefix='/api')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.