Python:ValueError:尝试在非包中进行相对导入
我有以下包结构 这是我在home.py中的代码Python:ValueError:尝试在非包中进行相对导入,python,flask,Python,Flask,我有以下包结构 这是我在home.py中的代码 import os from flask import Blueprint, render_template, request, flash, url_for from .. import db from ..models.home import Summary from ..forms.home import SummarizerForm from ..processing.summarizer import Summarizer from
import os
from flask import Blueprint, render_template, request, flash, url_for
from .. import db
from ..models.home import Summary
from ..forms.home import SummarizerForm
from ..processing.summarizer import Summarizer
from ..helpers import flash_errors
from ..processing.newsbot import NewsBot
home = Blueprint('home', __name__)
@home.route('/', methods=['GET', 'POST'])
def index():
summary = None
url = ''
form = SummarizerForm(request.form)
if request.method == "POST" and form.validate():
summary = Summarizer(form.text.data, form.algorithm.data, form.length.data)
if summary.error:
flash(summary.error)
else:
source_url = form.text.data if form.text.data.startswith(('http://', 'https://')) else ''
summary_db_entry = Summary(
summary.bullets,
summary.highlighted_text,
source_url=source_url)
db.session.add(summary_db_entry)
db.session.commit()
url_hash = summary_db_entry.url
url = os.path.join(request.url, url_for('home.summary_entry', url_hash=url_hash)[1:])
flash_errors(form)
return render_template(
'home/index.html',
form=form,
summary=summary,
url=url
)
@home.route('/s/<url_hash>')
def summary_entry(url_hash):
summary = Summary.query.filter_by(url=url_hash).first_or_404()
source_url = summary.source_url
return render_template(
'home/summary.html',
summary=summary,
source_url=source_url
)
@home.route('/about')
@home.route('/about/')
def about():
return render_template('home/about.html')
我在包外的init.py上得到了以下错误
Traceback (most recent call last):
File "/Users/johnsriskandarajah/Documents/summarizer-flask-app-master/tldrapp/__init__.py", line 35, in <module>
from .views.home import home
ValueError: Attempted relative import in non-package
回溯(最近一次呼叫最后一次):
文件“/Users/johnriskandarajah/Documents/summarizer flask app master/tldrapp/_init__.py”,第35行,in
from.views.home导入主页
ValueError:尝试在非包中进行相对导入
如何修复此错误?我在网上尝试了大多数解决方案,但没有找到任何运气
完整的项目结构
共享项目完整结构。因为它在图像中看起来很好。@metmirr添加了完整的项目结构。你读过这个文档页面吗?此外,在Python3中使用绝对导入是一个很好的实践。另外,基本项目目录是否位于
sys.path
(PYTHONPATH
)中?
Traceback (most recent call last):
File "/Users/johnsriskandarajah/Documents/summarizer-flask-app-master/tldrapp/__init__.py", line 35, in <module>
from .views.home import home
ValueError: Attempted relative import in non-package