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

最近用python脚本写了一些数据库相关的脚本,用的是MySQLdb库。然后部门以后要用RF来做接口,搭建完环境,发现原先的脚本不能用了;
安装MySQL-python, 使用import MySQLdb',报_mysql.so, 2): Symbol not found: _mysql_affected_rows_第1张图片
 
原因是:
wxPython2.8依赖 32位的 python2.7而不是64位。而MySQL-python依赖64位的 python2.7 。所以会报 _mysql.so, 2): Symbol not found: _mysql_affected_rows。
(在安装 wxPython2.8的时候,执行了 defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
解决办法一:
利用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
(这个我没试,因为好不容易安装好wxPython2.8)
 
解决办法三:
还原成64位的:
defaults write com.apple.versioner.python Prefer-32-Bit -bool no
 
 
 

你可能感兴趣的:(Python)