最近用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