2016-12-01 12 views
0

MacOSのシエラ10.12.1PythonのimportのMySQLdb:ライブラリがロードされていません:

libmysqlclient.18.dylibの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 

に従ってください、私は

$ 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 
よう Python mysqldb: Library not loaded: libmysqlclient.18.dylibに参照さしようとしたとして、それはエラーを示し

しかし、それらはすべて機能しません!

どうすれば修正できますか?

答えて

0

代わりpymysqlに

使用pymysqlまたは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) 
SQLAlchemyの
を使用して

import pymysql.cursors 
mysql_connection = pymysql.connect(host=hostname, 
         user=username, 
         password=password, 
         db=database, 
         charset='utf8mb4', 
         cursorclass=pymysql.cursors.DictCursor) 

関連する問題