sqlalchemy No module named 'MySQLdb'

Traceback (most recent call last):
  File "/usr/local/bin/sqlacodegen", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/sqlacodegen/main.py", line 44, in main
    engine = create_engine(args.url)
  File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/__init__.py", line 479, in create_engine
    return strategy.create(*args, **kwargs)
  File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/strategies.py", line 87, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/usr/local/lib64/python3.6/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 118, in dbapi
    return __import__("MySQLdb")
ModuleNotFoundError: No module named 'MySQLdb'
这是因为 SQLAlchemy 连接mysql默认驱动是MySQLdb,MySQLdb仅支持 python2.x, 没有支持python3的版本,如果使用python3.x版本时,需要安装并使用额外的库 pymysql

只需要将 mysql://user:123456@0.0.0.0:3306/database 改为 mysql+pymysql://user:123456@0.0.0.0:3306/database 就好啦。

posted @ 2021-03-19 12:31  味清欢  阅读(1626)  评论(0)    收藏  举报