Python flask Reason: image not found libmysqlclient.21.dylib
阿新 • • 發佈:2019-01-26
driver 數據庫驅動 ica 下午 .py site actual ins -o
Python flask Reason: image not found libmysqlclient.21.dylib
折騰了半個下午,在這裏找到了答案,在此記錄一下,以免後人躺坑
錯誤提示:
ImportError: dlopen(/Users/XXX/Library/Python/2.7/lib/python/site-packages/_mysql.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.21.dylib Referenced from: /Users/XXX/Library/Python/2.7/lib/python/site-packages/_mysql.so Reason: image not found
stackoverflow上解釋道:
Are you actually using the long-dead connector
MySQL-python
, akaMySQLdb
? If so, that only works with MySQL 5.x (and was only ever fully tested with 5.0).
原來是我的flask用的mysqldb驅動已經太老,已經不能支持最新的Mysql 8,所以這裏將數據庫驅動換成更新的pymysql
(當然如果沒有安裝要安裝一下pip install pymysql
)
修改config.py
DIALECT = ‘mysql‘ DRIVER = ‘pymysql‘ # 這裏改成pymysql驅動 USERNAME = ‘root‘ PASSWORD = ‘root‘ HOST = ‘127.0.0.1‘ PORT = ‘3306‘ DATABASE = ‘xx‘ SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = False
欸,以後不要稀裏糊塗地復制代碼了
Python flask Reason: image not found libmysqlclient.21.dylib