Python 烧瓶错误';导入错误:无法导入名称';db';从';你好';(C:\Users\admin\flask_stuff\venv\hello.py)和#x27;当我尝试创建SQL数据库时

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有点陌生,我正在关注Corey Schafer的YouTube教程。我现在正在看他的教程中的第四个视频,他用炼金术建立了一个数据库。我已经进入了我的应用程序的虚拟环境并运行了命令
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...