python - 引发 exc.NoSuchModuleError(sqlalchemy.exc.NoSuchModuleError:无法加载插件:sqlalchemy.dialects:mysql.pymysql
问题描述
您好我尝试使用 MySQL 和 MAMP 创建一个数据库。当我运行我的代码时,以下
错误显示:
我已经安装了库:Flask flask_sqlalchemy SQLAlchemy PyMySQL
/usr/local/bin/python3.8 /Users/mac/Documents/python/DAY12/main.py
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/flask_sqlalchemy/__init__.py:833: FSADeprecationWarning:
SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in
the future. Set it to True or False to suppress this warning.
warnings.warn(FSADeprecationWarning(
Traceback (most recent call last):
File "/Users/mac/Documents/python/DAY12/main.py", line 18, in <module>
db.create_all()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/flask_sqlalchemy/__init__.py", line 1039, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/flask_sqlalchemy/__init__.py", line 1031, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), **extra)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/flask_sqlalchemy/__init__.py", line 962, in get_engine
return connector.get_engine()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/flask_sqlalchemy/__init__.py", line 556, in get_engine
self._engine = rv = self._sa.create_engine(sa_url, options)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/flask_sqlalchemy/__init__.py", line 972, in create_engine
return sqlalchemy.create_engine(sa_url, **engine_opts)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/sqlalchemy/engine/__init__.py", line 500, in create_engine
return strategy.create(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/sqlalchemy/engine/strategies.py", line 61, in create
entrypoint = u._get_entrypoint()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/sqlalchemy/engine/url.py", line 172, in _get_entrypoint
cls = registry.load(name)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/sqlalchemy/util/langhelpers.py", line 267, in load
raise exc.NoSuchModuleError(
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:mysql.pymysql
我已经通过终端和 pycharm 库浏览器安装了这些库。这是我的代码:
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://rootloaclhost/dbcodigo2'
db = SQLAlchemy(app)
class Mentores(db.Model):
__tablename = 'mentores'
_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
nombre = db.Column(db.String(50))
apellidos = db.Column(db.String(50))
correo = db.Column(db.String(100))
db.create_all()
@app.route('/')
def index():
return render_template('index.html')
app.run(debug=True, port=8000)
我的电脑:MacOS 版本:Catalina
解决方案
推荐阅读
- javascript - 在 React-Redux 中加载存储
- testing - 持续改进:是否可以提前指定测试?
- angular - Angular6 表单验证
- ruby-on-rails - 如何在 AWS CodeBuild 上运行 docker-compose?
- python - Scrapy on Linkedin 已爬取 0 页
- javascript - Office.context.mailbox.displayNewMessageForm 在移动设备中不起作用
- html - 列表元素的以下兄弟姐妹
- java - Spring Boot - JSON 对象数组到 Java 数组
- sql-server - 必须声明标量变量“@EmailID”
- sql - SSRS 从去年 1 月提取数据