Mac OS X RF与mysql-python冲突的问题

问题描述
Mac 下同时安装mysql-python 和 RF 后,出现冲突问题如下:
Mac下mysql community server为64bit,mysql-python对应使用64bit python,而wxPython需要使用32bit,导致同时只能使用一个。
不知是否我安装的mysql问题(没有找到mac os x 32bit的mysql 安装包,而mysql-python需要先安装mysql)
解决方案:
1. 使mysqldb可用
sudo pip install mysql-python方式安装即可
python允许32 bit后,再安装mysql-python,出现import _mysql 或 MySQLdb异常,问题主要为:
1》/Library/Python/2.7/site-packages/_mysql.so镜像问题
no suitable image found,即wrong architecture问题
2》libmysqlclient.18.dylib not load的问题
解决方案如下:
1》 sudo ln -snf /usr/local/mysql/bin/* /usr/local/bin/
先保证mysql相关命令可直接使用,而不用加上绝对路径
也可以在 ~/.bash_profile中添加如下语句,然后source ~/.bash_profile:
export PATH=${PATH}:/usr/local/mysql/bin
2》修改~/.bash_profile 并source 生效,添加内容如下:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export VERSIONER_PYTHON_PREFER_64_BIT=yes
export VERSIONER_PYTHON_PREFER_32_BIT=no
3》将libmysqlclient.18.dylib load到_mysql.so文件,解决相对路径的libmysqlclient.18.dylib不能被加载的问题
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /Library/Python/2.7/site-packages/_mysql.so

操作完后,python -c “import _mysql” 或 python -c “import MySQLdb是可行的”
2. python 64bit mode下,RF 界面启动方案
mysqldb可用后,ride.py再打开RF界面会出现如下错误提示:
python should be executed in 32-bit mode with wxPython on OSX.
这时,如何解决呢?是不是wxPython 32 bit 和 mysql-python 64bit一定不可同时使用?
其实,64bit python下,只是RF界面(即wxPython界面工具)无法使用而已,pybot 执行时仍然OK的,已打开的界面仍可继续使用。
那么,我的解决方案如下:
不直接使用rode.py打开RF,使用shell先修改python版本再后台启动ride.py,然后再将python版本切回即可。脚本如下:
cat openride.sh

!/bin/sh

first, 修改python使用32bit

export VERSIONER_PYTHON_PREFER_32_BIT=yes
sleep 0.5

then,启动ride.py

ridePath=which ride.py
nohup $ridePath &

启动后再关闭32bit,方便mysql-python使用

sleep 1
export VERSIONER_PYTHON_PREFER_32_BIT=no

validate

which python -c “import _mysql”
if [ $? -gt 0 ];then
echo “import _mysql exception”
fi

RF界面一旦打开,就可以正常使用,也可以使用pybot命令执行case

遗留问题:
mysql操作使用.py实现,RF界面导入该library异常且执行异常,需要手动pybot执行。
或者使用RF自带的DatabaseLibrary实现
pybot命令参考

附centos7虚拟机下mysql-python的安装:
sudo yum -y install mysql mysql-devel
sudo pip -y install mysql-python
yum方式安装的mysql版本为5.5.44,也可以下载高版本包安装
Linux下直接使用pybot 执行RF case即可
192.168.80.187 和 192.168.80.199 都已安装好~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值