在Mac 搭建robotframework 环境 遇到ride.py 打不开的方法(没试过,先记录在此)
折腾来一下午,遇到了好多坑
坑
1.不要用pip 下载wxpython
2.不要用mac自带的python
3.不要自己下载wxpython
步骤:
1. 安装homebrew,
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 通过homebrew安装python2.6或2.7, 理由是robotframework ride只支持2.6-2.7版本, 详情请看 https://github.com/robotframework/RIDE/wiki/Installation-Instructions
可以通过brew search python 命令查询可以下载的python版本,然后在根据具体名称下载 brew install python2
3. 配置~/.bash_profile 文件, 将brew 下载的python配置到bash_profile文件中,正常目录如下:
/usr/local/Cellar/python/2.7.13_1/bin
4. 然后通过pip下载robotframework-ride
pip install robotframework-ride
5. 通过brew下载wxpython, brew下载的默认是最新的稳定版, 目前是
wxpython: stable 3.0.2.0 (bottled)
此时执行ride.py会报错
Wrong wxPython version.
You need to install wxPython 2.8.12.1 with unicode support to run RIDE.
wxPython 2.8.12.1 can be downloaded from http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/
为了解决这个,网上很多方法都是要去下载安装2.8.12.1版本, 各种安装方法最后都不可以,解决办法就是修改ride所支持的版本范围,加上3.0版本就可以了,是参考:
http://widerin.net/blog/install-robot-framework-ride-through-homebrew/
找到当前python使用的site-packages目录, 如何查找请在python命令下输入以下命令就可以获得
import site; site.getsitepackages()
/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
找到robotide 文件夹下的__init__.py 文件, 增加3.0支持

try:
import wxversion
from wxversion import VersionError
if sys.platform == 'darwin': # CAN NOT IMPORT IS_MAC AS THERE IS A wx IMPORT
supported_versions.append("2.9")
supported_versions.append("3.0")
wxversion.select(supported_versions)
import wx

然后重新执行ride.py就大功告成了!
亲测有效!
参考: https://www.cnblogs.com/xiaoningz/p/7275338.html
在Mac 搭建robotframework 环境 遇到ride.py 打不开的方法(没试过,先记录在此)的更多相关文章
- 在Mac 搭建robotframework 环境
折腾来一下午,遇到了好多坑 坑 1.不要用pip 下载wxpython 2.不要用mac自带的python 3.不要自己下载wxpython 步骤: 1. 安装homebrew, /usr/bin/r ...
- Windows搭建RobotFramework环境(一)
Robot Framework官网 http://robotframework.org/http://robotframework.org/ 安装说明 https://github.com/robot ...
- 在Ubuntu 16.04中搭建RobotFramework环境
1.搭建RF环境 2.安装RF相关库 3.查看RF case 4.设置环境变量 相关知识点:pip --proxy=http://xx.xx.xx.xx:xx install 包名,使用pip的-- ...
- [置顶] 教你如何搭建RobotFramework环境
看到这篇文章的朋友,相信已经知道RobotFramework是干什么的了,我这里就不再赘述了. 搭建步骤: 1. 下载安装Python,下载地址http://www.python.org/getit/ ...
- ride.py打不开RF,而是打开pycharm
标题中问题的解决方式: 进入到E:\soft\Python\Python36\Scripts,选中ride.py右键-打开方式选择python即可
- lua 学习 (一 )Mac搭建lua环境和ide
今天开始学习lua 首先是搭建环境 和 我的hello world 首先 交代一下我用的是 Mac 系统 所以在Mac上安装lua 环境很方便的 lua Mointain Lion - Lua 5 ...
- Mac搭建appium环境
1.安装brew 查看是否已经装上brew,终端输入命令:brew --version,已经装上的就不用再装了: 如果没有安装,终端输入命令:ruby -e "$(curl -fsSL ht ...
- mac搭建mnmp环境
brew安装nginx brew install nginx 安装php56 brew tap homebrew/dupes brew tap josegonzalez/homebrew-php br ...
- mac搭建mamp环境
1 先安装homebrew; 执行:cd /usr/local; 非root用户执行: ruby -e "$(curl -fsSL https://raw.githubusercontent ...
随机推荐
- Codeforces #369 (Div. 2) C. Coloring Trees (3维dp
http://codeforces.com/group/1EzrFFyOc0/contest/711/problem/C https://blog.csdn.net/qq_36368339/artic ...
- JS 使用RSA加密解密
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>使 ...
- Thread.sleep()和Thread.currentThread().sleep()区别
先看一下代码 public class Thread1 extends Thread{ @Override public void run() { try { System.out.println(& ...
- React 之 高阶组件的理解
1.基本概念 高阶组件是参数为组件,返回值为新组件的函数. 2.举例说明 ① 装饰工厂模式 组件是 react 中的基本单元,组件中通常有一些逻辑(非渲染)需要复用处理.这里我们可以用高阶组件对组件内 ...
- django命令行安装和卸载
1. 在dos命令行中输入 pip 如下命令进行安装: 安装最新的版本的 Django 命令如下: pip install django 安装 指定版本的 Django 命令如下: pip insta ...
- POJ-2891-Strange Way to Express Integers(线性同余方程组)
链接: https://vjudge.net/problem/POJ-2891 题意: Elina is reading a book written by Rujia Liu, which intr ...
- 爬虫(九):scrapy框架回顾
scrapy文档 一:安装scrapy a. pip3 install wheel b. 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#tw ...
- 二分算法题目训练(四)——Robin Hood详解
codeforces672D——Robin Hood详解 Robin Hood 问题描述(google翻译) 我们都知道罗宾汉令人印象深刻的故事.罗宾汉利用他的射箭技巧和他的智慧从富人那里偷钱,然后把 ...
- 转载:CentOS 6.5下安装Python 3.5.2(与Python2并存)
原文:https://www.jb51.net/article/115370.htm 这篇文章主要给大家介绍了在CentOS 6.5下安装Python 3.5.2的方法教程,安装后的python3与P ...
- Thread 相关函数和属性
t=Thread(target=func) # 启动子线程t.start() # 阻塞子线程,待子线程结束后,再往下执行t.join() # 判断线程是否在执行状态,在执行返回True,否则返回Fal ...