安装MySQL-python, 使用import MySQLdb’,报_mysql.so, 2): Symbol not found: _mysql_affected_rows

  • Post author:
  • Post category:mysql


最近在学习python, 按照网传方法的安装


step1:

pip uninstall MySQL-python
brew uninstall mysql
brew install mysql --universal
pip install MySQL-python


step2:

python -c ‘import MySQLdb’

Traceback (most recent call last):

File “<string>”, line 1, in <module>

File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQLdb/__init__.py”, line 19, in <module>

import _mysql

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so, 2): Symbol not found: _mysql_affected_rows

Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so

Expected in: dynamic lookup

纠其原因是:

我需要使用robot framework 的 ideal  ride.py用来写自动化case. 而当初安装这个模块时需要


wxPython2.8。

wxPython2.8依赖 32位的 python2.7而不是64位。而

MySQL-python依赖64位的 python2.7 。所以会报_mysql.so, 2): Symbol not found: _mysql_affected_rows。




解决办法一:


利用pymysql 代替

MySQL-python,




安装方法: pip install pymysql





使用部分教程:





config = {
    'host': '10.9****9',
    'port': 8**8,
    'user': 'root',
    'password': '****',
    'db': 'test_***',
    'charset': 'utf8mb4',
    'cursorclass': pymysql.cursors.DictCursor,
}

# Connect to the database
connection = pymysql.connect(**config)

解决办法二:
安装wxPython2.9, 参考链接:https://community.activestate.com/node/6641











版权声明:本文为chengxuyuan20100425原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。