[英]Python mysqldb: Library not loaded: libmysqlclient.18.dylib
[英]Python import MySQLdb: Library not loaded: libmysqlclient.18.dylib
macOS Sierra 10.12.1
MySQL 5.7.16
MySQL-Python 1.2.5
Python 2.7
=======================================
當我
import MySQLdb
它顯示錯誤如下
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/aldirc/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/aldirc/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
Reason: image not found
我試過參考Python mysqldb:未加載庫:libmysqlclient.18.dylib喜歡
$ sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql-5.7.16-osx10.11-x86_64/lib/libmysqlclient.20.dylib /Users/aldirc/Downloads/MySQL-python-1.2.5/build/lib.macosx-10.6-intel-2.7/_mysql.so
也
$ sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql-5.7.16-osx10.11-x86_64/lib/libmysqlclient.20.dylib /Users/aldirc/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
也
$ sudo ln -s /usr/local/mysql-5.7.16-osx10.11-x86_64/lib/libmysqlclient.20.dylib /usr/lib/libmysqlclient.18.dylib
但它們都不起作用!
現在我該如何解決?
您可以改用pymysql或sqlalchemy之類的軟件包
使用pymysql
import pymysql.cursors
mysql_connection = pymysql.connect(host=hostname,
user=username,
password=password,
db=database,
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
使用SqlAlchemy
import sqlalchemy
from sqlalchemy import create_engine
sql_connection = 'mysql+mysqldb://'+str(user)+':'+str(password)+'@'+str(host)+'/'+str(database)+'?charset=utf8mb4'
mysql_connection = create_engine(sql_connection, echo=False, pool_recycle = 3600,pool_size=1000)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.