-1

我正在编写来自CS50 Beyond的代码... YouTube 上提供的在线课程作者:Brian Yu 教授 此代码来自 Models.py文件 中的 Lecture ORM 和 API 。

我不明白这个错误

(venv) (base) pglab@pglab15:~/Downloads/Compressed/orms_and_apis/airline2$ export FLASK_APP=application.py 
(venv) (base) pglab@pglab15:~/Downloads/Compressed/orms_and_apis/airline2$ python3.7 application.py 
(venv) (base) pglab@pglab15:~/Downloads/Compressed/orms_and_apis/airline2$ flask run
* Serving Flask app "application.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Usage: flask run [OPTIONS]

Error: While importing "application", an ImportError was raised:

Traceback (most recent call last):
  File "/home/pglab/venv/lib/python3.7/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
  File "/home/pglab/Downloads/Compressed/orms_and_apis/airline2/application.py", line 2, in <module>
    from models import *
  File "/home/pglab/Downloads/Compressed/orms_and_apis/airline2/models.py", line 4, in <module>
    from flask_sqlalchemy import SQLAlchemy
ModuleNotFoundError: No module named 'flask_sqlalchemy'

我也检查了所有设置,

(venv) (base) pglab@pglab15:~/Downloads/Compressed/orms_and_apis/airline2$ python3.7 -m flask --version
Python 3.7.4
Flask 1.1.1
Werkzeug 0.16.0

(venv) (base) pglab@pglab15:~/Downloads/Compressed/orms_and_apis/airline2$ pip install Flask
Requirement already satisfied: Flask in /home/pglab/venv/lib/python3.7/site-packages (1.1.1)

(venv) (base) pglab@pglab15:~/Downloads/Compressed/orms_and_apis/airline2$ python3 -m pip install sqlalchemy
Requirement already satisfied: sqlalchemy in /home/pglab/venv/lib/python3.7/site-packages (1.3.13)

一切似乎都很好!我多次运行我的烧瓶应用程序,但是当我在烧瓶中启动 ORM 程序时,事情变得一团糟......

有人可以帮帮我吗!

4

2 回答 2

0

我猜你已经在虚拟环境之外安装了 SQLalchemy。请在激活虚拟环境后安装它,只有虚拟环境才能搜索模块。主要原因是虚拟环境范围有限,它不是全局的

请按照以下命令

source/bin/activate   //this will virtual enviroment
sudo pip install Flask-SQLAlchemy==2.4.1 // this will install the packge within your virtual envoronment
于 2020-01-30T10:27:51.257 回答
0

要获取 SQLAlchemy 的 Flask 包装器,请执行

python3 -m pip install flask-sqlalchemy

代替

python3 -m pip install sqlalchemy

或者,既然您已经安装了 SQLAlchemy,那么执行前者就足够了。

于 2020-01-30T16:45:39.173 回答