Mac下Robotframework + Python3环境搭建
1.安装python3
1.0安装XCODE
1.打开浏览器,登陆苹果开发者网站:https://developer.apple.com/download/more/
2.登陆你的apple账号,授权访问。
3.查看mac系统版本


需要下载与系统版本对应的Xcode
4.在搜索框中输入:
如果Mac 系统已经是最新版本,输入: Command Line Tools,回车搜索
如果Mac 系统是历史版本,输入:Command Line Tools (MacOS 版本号),回车搜索
如果Mac系统是最新版本,点击Command Line Tools for Xcode
5.点击时间下面的Command Line Tools for Xcode 11.3.1.dmg 下载,弹窗点允许


MAC系统是历史版本,搜索Command Line Tools (MacOS 版本号),
这里举例macOS的版本号是10.13
1.搜索框输入Command Line Tools (MacOS 10.13)
2.点击Release Date(按时间倒序)
3.点击第一个Command Line Tools (MacOS 10.13) for Xcode 9
4.Command Line Tools (MacOS 10.13) for Xcode 9.dmg
5.点击允许

打开下载文件夹,开始安装Xcode,
1.双击 Command_Line_Tools_for_Xcode_11.3.1.dmg

1.1安装home-brew
Brew≈Linux的apt和yum

1.双击打开终端
修改git配置,将文件大小的上限设置大
执行命令:git config --global http.postBuffer 524288000
2.执行命令:/usr/bin -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)”
报错:-bash: /usr/bin: is a directory
改为执行: /bin/bash -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
报错如下:/bin/bash: #!/usr/bin/ruby
STDERR.print <<EOS
Warning: The Ruby Homebrew installer is now deprecated and has been rewritten in
Bash. Please migrate to the following command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
EOS
Kernel.exec "/bin/bash", "-c", '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"': No such file or directory
按照报错指引执行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew 安装成功确认!

1.2安装python
brew info python@3.7
brew install python@3.7
在~/.profile 文件中
export PATH="/usr/local/opt/python@3.7/bin:$PATH"
alias python="/usr/local/opt/python@3.7/bin/python3.7"
alias pip="/usr/local/opt/python@3.7/bin/pip3"
source ~/.profile
————————确认安装成功——————————
which python3
Python3 --version #因为Mac原本就自带了一个python2 (目前robot framework仅支持python3.7)
ls -alh /usr/local/bin/python3 #brew 安装的都在 /usr/lcoal/Cellar 这个目录下面。

2.安装robotframework
pip3 install robotframework
——————检查是否安装成功————
pip3 list检查是否有robotframework
可能出现的问题:Missing dependencies for SOCKS support
因为你的python3没有安装 pysocks 时并不支持 socks5 代理 #通常出现在ss 和ssr中
解决方法:打开一个新的终端窗口,然后pip3 installpysocks
3.安装wxpython
不需要翻墙的下载wxpython的下载方法
1.浏览器访问:https://pypi.org/project/wxPython/#files
2.Download File》点击文件名wxPython-4.0.7.post2-cp37-cp37m-macosx_10_9_x86_64.whl
Cpxx 表示python版本,请务必要和python版本匹配,(目前robot framework仅支持python3.7)
Mac Catalina务必下载64位!
不翻墙方法:在命令行中先到download file目录中
3.打开download文件夹,拷贝下载的路径名称

4.打开终端,输入命令 cd 粘贴刚才复制的路径(快捷键command+V)
5.pip3 install ./wxPython-4.0.3-cp37-cp37m-macosx_10_9_x86_64.whl
4.安装robotFramework-ride
1.pip3 install robotframework-ride
2.pip3 install robotframeworklexer #可以用来语法突出的插件好用!
常用第三方库
比较重要的库
pymysql
robotframework
robotframework-databaselibrary
robotframework-excellib
robotframework-jsonlibrary
robotframework-requests
robotframework-ride
robotframework-selenium2library
robotframework-seleniumlibrary
robotframeworklexer
pip3 install 加上你需要的库

5.启动ride
1.执行命令:which python3

2.cd /usr/local/bin #你python3所在的路径的上一层就可以找到ride
3.python3 ride.py
环境配置:

6.其他问题
1.关于robotframework Excel库下载失败解决方案
下载robot framework 第三方库
执行命令:pip3 install robotframework-excellib
举个例子

导入的Library
Library ExcelLibrary
2.数据库连接问题
统一使用官方建议的方式连接mysql(即pymysql)
https://github.com/franz-see/Robotframework-Database-Library/blob/master/test/MySQL_DB_Tests.robot #官方链接数据库的例子
需要的库
pip3 install pymysql
pip3 install robotframework-databaselibrary
3.Selenium Library 打开浏览器报错
浏览器失败提示WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

因为python3以后火狐浏览器也需要geckodriver才可以
火狐浏览器需要geckodriver(一般最新对应最新,直接升级就好,没有具体版本号对应问题
谷歌浏览器需要下载浏览器对应版本的Chromedriver
4.for循环的编写修改
FOR:
END
官方的例子2.9.3 For loops

喜欢的朋友记得点赞、收藏、关注哦!!!
相关文章:
Mac下Robotframework + Python3环境搭建
1.安装python3 1.0安装XCODE 1.打开浏览器,登陆苹果开发者网站:https://developer.apple.com/download/more/ 2.登陆你的apple账号,授权访问。 3.查看mac系统版本 需要下载与系统版本对应的Xcode 4.在搜索框中输入: 如果Mac 系统…...
stm32实战项目:无刷驱动
目录 系统时钟配置 PWM模块初始化 ADC模块配置 霍尔接口配置 速度环定时器 换相逻辑实现 主控制循环 系统时钟配置 启用72MHz主频:RCC_Configuration()设置PLL外设时钟使能:TIM1/ADC/GPIO时钟 #include "stm32f10x.h"void RCC_Configu…...
MNIST 手写数字分类
转自我的个人博客: https://shar-pen.github.io/2025/05/04/torch-distributed-series/1.MNIST/ 基础的单卡训练 本笔记本演示了训练一个卷积神经网络(CNN)来对 MNIST 数据集中的手写数字进行分类的过程。工作流程包括: 数据准备ÿ…...
【RuntimeError: Directory ‘static/‘ does not exist 】
背景 File “/root/miniforge3/lib/python3.10/site-packages/starlette/staticfiles.py”, line 56, in init raise RuntimeError(f"Directory ‘{directory}’ does not exist") RuntimeError: Directory ‘static/’ does not exist 运行读取pdf时候,…...
SQL:SELF JOIN(自连接)与CROSS JOIN(交叉连接)
目录 SELF JOIN(自连接) CROSS JOIN(交叉连接 / 笛卡尔积) 示例: SELF JOIN CROSS JOIN 如果没有 DATEDIFF() 函数怎么办? 🔍 SELF JOIN vs CROSS JOIN 对比总结 SELF JOIN(自…...
Linux网络基础 -- 局域网,广域网,网络协议,网络传输的基本流程,端口号,网络字节序
目录 1. 计算机网络背景 1.1 局域网 1.1.2 局域网的组成 1.2 广域网 1.1.2 广域网的组成 2. 初始网络协议 2.1 网络协议的定义和作用 2.2 网络协议的分层结构 2.2.1 OSI七层模型 2.2.2 TCP/IP 五层(四层)模型 3. 再识网络协议 3.1 为什么要有…...
当 Manus AI 遇上 OpenAI Operator,谁能更胜一筹?
自主智能体通过实现任务自动化,改变了我们与技术交互的方式,让我们的生活变得更加便捷。去年,OpenAI 为人工智能聊天机器人引入了定时任务和操作智能体,赋予了其代理功能,而 Anthropic 则在 Claude 上实现了类似的功能…...
iOS实名认证模块的具体实现过程(swift)
实名认证是当前APP的一个基础功能了,今天我集成了实名认证模块在iOS应用中的具体实现步骤,结合技术细节与最佳实践: 一、手机号验证 1. 发送短信验证码 技术实现:// 使用Alamofire调用第三方短信API AF.request("https://s…...
UE5定序器中摇臂挂载摄像机 让摄像机始终朝向目标
1. 搭建摄像机摇臂并加入 Sequencer 在关卡中: Cinematics → Add Level Sequence,新建并打开一个 Level Sequence。 在视口里 右键 → Cinematic → Cine Camera Actor Rig → Crane,放一个 CameraRig_Crane。 默认 Crane 自带一个 CineCa…...
Redis BigKey 问题是什么
BigKey 问题是什么 BigKey 的具体表现是 redis 中的 key 对应的 value 很大,占用的 redis 空间比较大,本质上是大 value 问题。 BigKey怎么找 redis-cli --bigkeysscanBig Key 产生的原因 1.redis数据结构使用不恰当 2.未及时清理垃圾数据 3.对业务预…...
硬件中断请求号和lspci命令查看到的device id有关系吗?
这是我忽然想到的一个人问题 硬件中断请求号(IRQ)与lspci命令查看到的设备ID(Device ID)没有直接对应关系,但两者在系统硬件管理中通过以下方式间接关联: 一、硬件层面的独立标识 Device ID的本质…...
Qt 中 QWidget涉及的常用核心属性介绍
欢迎来到干货小仓库 一匹真正的好马,即使在鞭子的影子下,也能飞奔 1.enabled API说明isEnabled()获取到控件的可用状态setEnabled()设置控件是否可使用.true:可用,false:禁用 禁用:指该控件不能接收任何用…...
编程日志5.3
串的习题 1.Problem - 2030 #include<iostream> using namespace std; int main() { char s[500]; int n; cin >> n; getchar();//去掉空格部分 while (n--) { gets(s);//老式写法 vs显示错误题目解答正确 int cnt 0; …...
sql的性能分析
慢查询日志:通过慢查询日志需要优化的sql语句。 慢查询日志记录了所有执行时间超过指定参数的所有sql语句。 开启慢日志查询开关:show_query_log1 设置慢查询日志的时间:long_query_time?。 show variables like ‘slow_query_log’&…...
JAVA 锁—— synchronized
32 位机器上java对象头中,markWord 示意图如上所示,64 位机器扩展前面标识位数,如 hashcode(25 -> 31),线程ID(23 -> 54) 如果启用了偏向锁: synchronized添加偏向锁:只有1个线程加锁的情况下&#…...
游戏引擎学习第274天:基于弹簧的动态动画
回顾前一天内容,并为今天的工作设定目标 我们昨天展示了一些内容,现在先回顾一下昨天的进展。我们目前正在处理的是角色跳跃的动画——特别是身体部分的跳跃。 现在角色的动画状态如下: 正在实现角色的移动和跳跃。跳跃中已经加入了一些预备…...
【英语笔记(二)】句子成分、基本句型;简单描述十大词类与从句的分类、助动词和非谓语动词的使用
1. 介词 at, in, on 的用法区别 1.1 表示时间的区别 1. 表示时间的某一点、某一时刻或年龄等用 at。如: I get up at six in the morning. 我早上六点钟起床。He got married at the age of 25. 他 25 岁结婚。 2. 泛指一般意义的上午、下午或晚上以及月或年等较…...
TAPIP3D:持久3D几何中跟踪任意点
简述 在视频中跟踪一个点(比如一个物体的某个特定位置)听起来简单,但实际上很复杂,尤其是在3D空间中。传统方法通常在2D图像上跟踪像素,但这忽略了物体的3D几何信息和摄像机的运动,导致跟踪不稳定…...
RabbitMQ的工作队列模式和路由模式有什么区别?
RabbitMQ 的工作队列模式(Work Queues)和路由模式(Routing)是两种不同的消息传递模式,主要区别在于消息的分发逻辑和使用场景。以下是它们的核心差异: 1. 工作队列模式(Work Queues)…...
armv7 backtrace
ref: ARM Cortex-M3/M4/M7 Hardfault异常分析_arm hardfault-CSDN博客...
Python并发编程:开启性能优化的大门(7/10)
1.引言 在当今数字化时代,Python 已成为编程领域中一颗璀璨的明星,占据着编程语言排行榜的榜首。无论是数据科学、人工智能,还是 Web 开发、自动化脚本编写,Python 都以其简洁的语法、丰富的库和强大的功能,赢得了广大…...
泰勒展开式
常用的 泰勒展开式(Taylor series expansion)是指把一个函数在某点的邻域内展开成幂级数的形式。以函数 f ( x ) f(x) f(x) 在点 a a a 处展开为例,其泰勒展开式为: f ( x ) f ( a ) f ′ ( a ) ( x − a ) f ′ ′ ( a ) 2 …...
深入理解 Polly:.NET Core 中的健壮错误处理策略
在现代软件开发中,错误处理是构建高可用、健壮系统的关键之一。尤其是当应用依赖外部服务(如 API、数据库或其他网络资源)时,临时的服务中断、超时或其他不可预见的错误都会影响应用的稳定性。为了提升系统的容错能力,…...
【Bootstrap V4系列】学习入门教程之 组件-巨幕(Jumbotron)和列表组(List group)
Bootstrap V4系列 学习入门教程之 组件-巨幕(Jumbotron)和列表组(List group) 一、巨幕(Jumbotron)1.1 带有圆角1.2 全宽且无圆角 二、列表组(List group)2.1 Basic example2.2 Acti…...
02.three官方示例+编辑器+AI快速学习webgl_animation_skinning_blending
本实例主要讲解内容 这个示例展示了Three.js中骨骼动画混合(Skeletal Animation Blending)的实现方法,通过加载一个士兵模型,演示了如何在不同动画状态(如站立、行走、跑步)之间进行平滑过渡。核心技术包括动画混合器(AnimationM…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1商用服务开通教程以及模型体验
在当今数字化浪潮迅猛推进的时代,云计算与人工智能技术的深度融合正不断催生出众多创新应用与服务,为企业和个人用户带来了前所未有的便利与发展机遇。本文将重点聚焦于在华为云这一行业领先的云计算平台上,对 DeepSeek-V3/R1 商用服务展开的…...
大语言模型通过MCP控制STM32-支持Ollama、DeepSeek、openai等
MCP控制STM32 MCP部分 1.下载源码 git clone https://github.com/ana52070/MCP_Control_STM32.git cd MCP_Control_STM32 cd mcp-led_oled2. 创建并激活虚拟环境 为了避免不同项目之间的依赖冲突,建议使用虚拟环境。根据你的操作系统和 Python 版本,…...
Linux-Ubuntu安装Stable Diffusion Forge
SD Forge在Win上配置起来相对简单且教程丰富,而在Linux平台的配置则稍有门槛且教程较少。本文提供一个基于Ubuntu24.04发行版(对其他Linux以及SD分支亦有参考价值)的Stable Diffusion ForgeUI安装配置教程,希望有所帮助 本教程以N…...
LoRA(Low-Rank Adaptation)原理详解
LoRA(Low-Rank Adaptation)原理详解 LoRA(低秩适应)是一种参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)技术,旨在以极低的参数量实现大模型在特定任务上的高效适配。其核心思想基于低秩分解假设,即模型在适应新任务时,参数更新矩阵具有低秩特性,可用少量参…...
分享一个可以用GPT打标的傻瓜式SD图片打标工具——辣椒炒肉图片打标助手
一、打标效果展示 请参考下图,了解最终的打标效果: 打标速度提升百分之300; 打标成本: gpt4o每百张图约5毛rmb; gpt4o-mini价格更低; 更有claude,grok,gemini,豆包等…...
实战项目2(03)
目录 任务场景一【重点】 【sw1配置】 【sw2配置】 任务场景二【重点】 【sw1配置】 【sw2配置】 【sw3配置】 任务场景一【重点】 掌握基于SVI实现跨VLAN通信——某公司网络为了减少广播包对网络的影响,网络管理员对网络进行了VLAN划分,完成VLA…...
PyCharm软件下载和配置Python解释器
以下是详细的PyCharm下载及解释器环境配置步骤: 有什么问题可以留评论(看见会回复的) 一、PyCharm下载 1. 访问官网 进入JetBrains官网:https://www.jetbrains.com/pycharm/ 2. 选择版本 Community版(免费&…...
《从零构建一个简易的IOC容器,理解Spring的核心思想》
大家好呀!今天我们要一起探索Java开发中最神奇的魔法之一 —— Spring框架的IOC容器!🧙♂️ 我会用最最最简单的方式,让你彻底明白这个看似高深的概念。准备好了吗?Let’s go! 🚀 一、什么是IOC容器&…...
差分与位移算子
差分与位移算子是数值分析和离散数学中处理序列或离散函数的重要工具。它们通过算子代数简化差分的计算和分析,以下是关键概念和关系的总结: 1. 位移算子(Shift Operator) 定义: 位移算子 ( E ) 将函数 ( f(x) ) 沿自变…...
Robot之VideoMimic:《Visual Imitation Enables Contextual Humanoid Control》翻译与解读
Robot之VideoMimic:《Visual Imitation Enables Contextual Humanoid Control》翻译与解读 导读:这篇论文介绍了VIDEOMIMIC,一个基于视觉模仿的真实到模拟到真实流水线,用于训练人形机器人执行上下文相关的全身动作。该方法通过分…...
【Java学习日记34】:this关键字和成员变量
为什么不需要加 this? 作用域规则: Java编译器在查找变量时遵循“就近原则”。 先在当前方法内查找局部变量或参数。 若找不到,则去类的成员变量中查找。 getName() 的上下文: 该方法没有参数或局部变量名为 name,因…...
包名查看器APP:高效管理手机应用的实用工具
包名查看器APP是一款功能强大的文件查看软件,专为安卓用户设计,能够帮助用户快速了解手机上安装和未安装的APK包信息。作为酷安首发的APK信息查看工具,它提供了比系统设置更详细的信息,如版本号、包名、MD5等,帮助用户…...
左右括号的最小处理次数
1、题目描述 多多君在处理一个由左结号(和右语号)组成的字符串,多多君每次处理时可以顺序读取一个字符或者一个有效括号子串,求问多多的最小处理次数。 输入描述: 第一行为一个整数N,表示字符串长度(1<…...
22.第二阶段x64游戏实战-分析周围对象类型
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:21.第二阶段x64游戏实战-分析采集物偏移 上一个内容里发现采集物的名字通过我们…...
【C/C++】无符号调试:GDB解栈实战指南
文章目录 无符号调试:GDB解栈实战指南1 生成并加载 Core Dump2 查看原始堆栈信息(地址形式)3 确认加载的共享库地址范围4 手动转换地址为函数名5 反汇编关键代码段6 加载外部符号文件(如有)7 结合系统库文档分析8 示例…...
梦熊联盟:202505基础语法-题解
202505基础语法-题解 T1 - 九的倍数 解法: 对于 9 的倍数,只需要判定其各位的数码和是否为 9 的倍数即可。 例如判断一个数是不是 9 的倍数,只要判断其各位数字之和是不是 9 的倍数,因为一个数能被 9 整除当且仅当它的各位数字之和…...
Java SE(11)——内部类
1.内部类 定义:Java中的内部类(Inner Class)是指在一个类的内部定义的类。 使用场景:当一个类的内部,存在一个部分需要完成的结构进行描述,而该内部结构只为外部类提供服务,那么这个内部结构就可以使用内部类ÿ…...
优化审核模块响应时间从8s降至1.2s的数据库解决方案
优化审核模块响应时间从8s降至1.2s的数据库解决方案 要优化审核模块的数据库性能,需要从多个层面进行分析和优化。以下是具体的SQL语句设计和优化方案: 1. 分析当前性能瓶颈 首先需要找出慢查询: -- 查看慢查询日志中的审核模块相关查询 …...
YOLO-World:基于YOLOv8的开放词汇目标检测
文章目录 前言1、出发点2、方法2.1.TextEncoder2.2.ReparmVLPAN2.3.输出头 3、实验3.1.数据集3.2.LVIS测试集 总结 前言 本文介绍一篇来自腾讯的开放词汇检测工作,发表自CVPR2024,论文链接,开源地址。 1、出发点 GroundingDINO在开放词汇检测…...
NX989NY104美光科技芯片NY109NY113
NX989NY104美光科技芯片NY109NY113 存储市场新势力:美光科技的崛起与技术突围 在半导体行业波澜壮阔的浪潮中,美光科技宛如一颗璀璨的明珠,以其独特的技术实力和敏锐的市场洞察力,在存储领域占据了重要的一席之地。尤其是其旗下…...
LabVIEW的PID参数自适应控制
在工业控制领域,PID 控制凭借结构简单、稳定性好、工作可靠等优点被广泛应用。然而,传统固定参数的 PID 控制在面对复杂多变的工况时,控制效果往往难以达到最优。基于 LabVIEW 实现 PID 控制根据情况选择参数(即参数自适应调整&am…...
Quartus与Modelsim-Altera使用手册
目录 文章内容: 视频内容: Quartus: ModelSim: 顶层设计与子模块: 只是对所查阅的相关文章的总结与视频总结 文章内容: 这篇对基础操作很详细: 一、Quartus II软件的使用_quartus2软件上…...
设计模式之工厂模式(二):实际案例
设计模式之工厂模式(一) 在阅读Qt网络部分源码时候,发现在某处运用了工厂模式,而且编程技巧也用的好,于是就想分享出来,供大家参考,理解的不对的地方请多多指点。 以下是我整理出来的类图: 关键说明&#x…...
数据可视化大屏——智慧社区内网比对平台
综述分析: 智慧社区内网数据比对信息系统 这段代码实现了一个智慧社区内网数据比对信息系统的前端界面,采用三栏式布局展示各类社区安全相关数据。界面主要由左侧数据统计、中间地图展示和右侧数据分析三部分组成,使用了多种图表可视化技术…...
Spark任务调度流程详解
1. 核心调度组件 DAGScheduler:负责将Job拆分为Stage,处理Stage间的依赖关系。 TaskScheduler:将Task分配到Executor,监控任务执行。 SchedulerBackend:与集群管理器(如YARN、K8s)通信&#x…...