Python 烧瓶错误';导入错误:无法导入名称';db';从';你好';(C:\Users\admin\flask_stuff\venv\hello.py)和#x27;当我尝试创建SQL数据库时
我对Python有点陌生,我正在关注Corey Schafer的YouTube教程。我现在正在看他的教程中的第四个视频,他用炼金术建立了一个数据库。我已经进入了我的应用程序的虚拟环境并运行了命令Python 烧瓶错误';导入错误:无法导入名称';db';从';你好';(C:\Users\admin\flask_stuff\venv\hello.py)和#x27;当我尝试创建SQL数据库时,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我对Python有点陌生,我正在关注Corey Schafer的YouTube教程。我现在正在看他的教程中的第四个视频,他用炼金术建立了一个数据库。我已经进入了我的应用程序的虚拟环境并运行了命令python,之后我使用hello import db中的命令(我的应用程序名为hello.py)。但是,当我运行它时,我在命令提示符中遇到以下错误: Traceback (most recent call last): File "<stdin>", line 1,
python
,之后我使用hello import db中的命令(我的应用程序名为hello.py)。但是,当我运行它时,我在命令提示符中遇到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'db' from 'hello' (C:\Users\admin\flask_stuff\venv\hello.py)
也许您应该将hello.py
移出虚拟环境目录。在您的情况下,将hello.py
移动到C:\Coding\flask\u stuff
而不是C:\Coding\flask\u stuff\venv
。之后,您可以在目录C:\Coding\flask\u stuff
中运行python
(激活虚拟环境)
此外,如果您想在VSCode中运行程序,可能必须在VSCode中配置python解释器。为此,您应该在C:\Coding\flask\u stuff
中创建一个名为.vscode/
的目录。在该文件夹中创建一个名为settings.json
的文件,其中包含以下内容:
{
"python.pythonPath": "./venv/bin/python.exe"
}
你可以参考
要解决第一个问题,您的hello.py
可能如下所示:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
# your custom routes...
您应该将SQLAlchemy(app)
分配给db
希望这会奏效;-) 您好,我尝试了您的解决方案,但仍然无法解决问题。我试着将hello.py移出我的虚拟环境,我还设置了一个新的虚拟环境,但似乎没有任何效果。有什么变化吗?请给我看一下你的hello.py,这样我就可以找出问题所在。当然,我会更新我的帖子以包含它。代码似乎是正确的。它应该会起作用。但是似乎有两个文件(C:\Users\admin\flask\u stuff\hello.py
和C:\Coding\flask\u stuff\hello.py
)。他们是一样的吗?啊,对!我刚刚删除了重复的文件。但是,我得到了一个新的错误ModuleNotFoundError:没有名为“hello”的模块
。我已经尝试将我的FLASK_应用程序设置为hello.py,并通过将hello.py移出虚拟环境再次执行上述步骤。
{
"python.pythonPath": "./venv/bin/python.exe"
}
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
# your custom routes...