我正在尝试从我的
python包的另一个文件夹中导入一个python类,但我这个错误“没有模块命名模型”.
这是一个Flask项目.
-app
|-run.py
|-myapp
|- libs
|- updateto
|- __init__.py (empty)
|- connection.py
|- removeto
|- __init__.py (empty)
|- static
|- templates
|- __init__.py (NOT empty)
|- routes.py
|- models.py
我的init.py:
from flask import Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///maindb.db'
from models import db
db.init_app(app)
import myapp.routes
在我的models.py中,我有一个名为:application的类
在connection.py中我想导入我的类“应用程序”.
我试过“从模型导入应用程序”,但我有这个错误“没有模块命名模型”.
我认为通过修改“updateto”文件夹中的init.py可以达到这个目标,但我不确定,因为我不清楚init.py文件的功能……
谢谢
编辑:
这很奇怪,如果在connection.py下我添加“import myapp”和“print(help(myapp))”,我输出这个:
Help on package myapp:
NAME
myapp
FILE
c:\app\myapp\__init__.py
PACKAGE CONTENTS
libs (package)
models
routes
DATA
app =
但如果我尝试“从myapp导入模型”我有这个错误“ImportError:无法导入名称模型”
EDIT2:
如果我尝试添加connection.py“来自myapp导入应用程序”,它可以工作,但如果我尝试导入模型则不行……我很惊讶.我尝试添加myapp / init.py:
__all__ = ["models", "routes]
但同样的错误……
EDIT3:
hummmm我已经将libs文件夹下的所有模块移动到myapp中,当我尝试从模型导入应用程序中输入connection.py时,我总是出现同样的错误“ImportError:无法导入名称应用程序”
connection.py中的其他测试:
import models
print(models)
Output:
我可以导入名为models的模块,但是我无法在models.py下导入该类
EDIT4:
好的,我想我发现了问题.这是我在myapp中的ini.py,因为如果我评论这个文件内容,connection.py现在可以在模型中导入我的类应用程序.我运行使用routes.py的文件run.py,调用operation.py的是他
通过一些测试,我发现了创建错误的行:
from models import db
db.init_app(app)
import myapp.routes
但为什么????