最近用python脚本写了一些数据库相关的脚本,用的是MySQLdb库。然后部门以后要用RF来做接口,搭建完环境,发现原先的脚本不能用了;
原因是:
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