Python导入MySQLdb : Library not loaded: libmysqlclient. 18.dylib

标签 python mysql macos mysql-python

macOS 塞拉利昂 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: Library not loaded: 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)

关于Python导入MySQLdb : Library not loaded: libmysqlclient. 18.dylib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40905653/

相关文章:

python - 嵌套列表 python

php mysql登录/注册当前登录用户不同的代码

macos - 了解两个图像是否相同的最有效方法?

Python - 如何在 os.replace 中使用相对路径?

ios - 在 Swift 中动态创建对象

python - Mechanize 打开 Url python

python - 如何使用文件指针在特定行或单词之后编辑文本文档

python - 如何在 Python 中使用 selenium 登录网站?

mysql - 数据库中的帖子类型 - INT 或 VARCHAR

php - 选择最近 30 天的所有订单,并计算每天有多少