首页 > 解决方案 > 引发 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

标签: pythonmysqlpycharmmamp

解决方案


推荐阅读