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

来源:互联网 发布:gps漂移过滤算法 编辑:程序博客网 时间:2024/06/05 12:50

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

step1:

pip uninstall MySQL-pythonbrew uninstall mysqlbrew install mysql --universalpip 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 databaseconnection = pymysql.connect(**config)
解决办法二:
安装wxPython2.9, 参考链接:https://community.activestate.com/node/6641


阅读全文
0 0
原创粉丝点击