从 0 开始学 Python 自动化测试开发(二):环境搭建

2023-11-11

本文是「从 0 开始学 Python 自动化测试开发」专题系列文章第二篇 —— 环境搭建篇,适合零基础入门的同学。没有阅读过上一篇的同学,请戳蓝色字体阅读。作者方程老师,是前某跨国通信公司高级测试经理,目前为某互联网名企资深测试技术专家,也是霍格沃兹测试学院特邀讲师。有十余年大型电信系统测试、管理经验,自主研发自动化测试工具的经验,其主笔的 CSDN 博客专栏《用 Python 做自动化测试》是测试类访问量最大的专栏。

 
  1. 本文目录

  2. 0. 前言与安装包准备

  3. 1. Windows 下的安装配置

  4. 1.1 把 Python3.6 加入到环境变量里面。

  5. 1.2 path 的设置

  6. 1.3 确认 python 安装成功 

  7. 2.Linux 下的 python3 的安装

  8. 2.1 查找 python3 安装包

  9. 2.2 安装 Python3.6

  10. 2.3 设置默认 python 为 python3

  11. 2.4 安装 Python pip3

  12. 3. Mac 下的 python3 的安装

  13. 3.1 升级安装

  14. 3.2 python2 和 python3 共存

  15. 3.3 安装指定版本

前言与安装包准备

关于环境搭建,其实笔者一直在犹豫是否要写,因为环境搭建本身是既简单而又可能很复杂的事情。简单是指如果一切顺利,一个命令(Linux 下)或者一路点 “Next/下一步” 就能搞定;复杂是指一旦遇到点问题,可能解决起来就比较麻烦,因为涉及到操作系统环境变量的一些设置,还有每个人的系统环境配置的差异,这些个性化差异网上未必有现成的答案可供搜索参考,初学者如果不知道原理的话,很难排除。

考虑到这个专栏受众是从 0 到 1 学习编程和自动化测试,为照顾到小白同学,那我们还是尽量不跳过任何一点,让大家能从零基础学会。

上一篇入门准备文章已经提到,在当下这个节点,我们建议大家从 Python3 版本学习。但现在 Linux 和 Mac 电脑系统上自带的都是 Python2,如果配置不对的话,会导致 2 个版本冲突。下面的文章中我会手把手教大家如何在 Windos、Linux、Mac 电脑下安装 Python3。

首先,登录到官网下载页面:https://www.python.org/downloads/

这里有 Windows 和 macOS 下的安装包,但没有 Linux 的,Linux 的 Python 安装从官方这里只能通过源代码编译、安装,涉及到一系列的依赖包的安装,对小白并不友好。我们将会介绍更简单的方法来实现 Linux 下 Python3 的安装配置。

下面以安装 Python 3.6.x 版本来作为示例(最近 Python3 的更新很快,有很多第三方包没有在最新版 python3.7.x 测试过,所以可能会有很多兼容性问题,建议大家安装 python 3.6.x 来学习)。

 Windows 下的安装配置

Windows 的安装比较简单,一路点 “next/下一步” 即可,稍微需要注意下步骤 1 和 2 的环境变量配置。

把 Python3.6 加入到环境变量里面

安装的时候注意要勾选上红框的选项,否则在命令行里输入 python 的时候,无法进入 Python 解析器。

环境变量 path 的设置

有些人可能之前已经安装过 Python2,这样 Python2 和 Python3 都会在环境变量里面。这样的话,就需要把 Python3 的路径移动到前面,才能用上 Python3。

确认 python 安装成功

在 windows 命令行下输入 python,如果其他的是 python 3.6.x,那就说明安装成功了,如下图。

Linux 下的 python3 的安装

此演示步骤为阿里云 CentOS 系统,其他的 Linux、Unix 系统大同小异。

查找 python3 安装包

通过 yum 命令可以很方便的找到 python 3.6 的安装包。

千万注意,此时不要卸载 python2,因为 yum 命令就是 Python 写的,会导致 yum 命令无法使用。

安装 Python3.6

通过 yum 安装 python3.6, -y 的意思是确认安装,否则你下载完成后,需要你输入 y 才能继续下一步。

 
  1. b ash#yum install python36.x86_64 -y

安装完成后,此时你输入 python,依然是 Python2。

设置默认 python 版本为 python3

我们切换到 /usr/bin 下可以看到,默认的 python 连接到的是 python2,所以我们只要按下面命令行代码,用 ->改一下 软连接 即可。

安装 Python pip3

比较遗憾的是 Linux 下的 python3.6 包,没有自带 pip3 工具,所以我们需要手工安装 pip3,安装过程也很简单。按照下面的命令行一步步输入按回车即可。

 
  1. [root@iZj6c5lqy6aztlhfie7xw2Z bin]# ls -al /usr/bin/pip*

  2. -rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip

  3. -rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2

  4. -rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2.7

  5. -rwxr-xr-x 1 root root 370 Jan 29 15:56 /usr/bin/pip3.6

  6. [root@iZj6c5lqy6aztlhfie7xw2Z bin]# mv pip pip.bak

  7. [root@iZj6c5lqy6aztlhfie7xw2Z bin]# ln -s pip3.6 pip

  8. [root@iZj6c5lqy6aztlhfie7xw2Z bin]# ls -al /usr/bin/pip*

  9. lrwxrwxrwx 1 root root 6 Feb 14 23:52 /usr/bin/pip -> pip3.6

  10. -rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2

  11. -rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2.7

  12. -rwxr-xr-x 1 root root 370 Jan 29 15:56 /usr/bin/pip3.6

  13. -rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip.bak

  14. [root@iZj6c5lqy6aztlhfie7xw2Z bin]#

Mac 下的 python3 的安装

Mac 是个 unix 系统,安装方法和 Linux 上差不多。只是把 yum 命令换成 brew 命令即可。当然 Mac 下的安装 python3 有三种方式,大家都可以尝试:

升级安装

打开 Mac 自带的终端 Shell 工具,直接命令行输入:

 
  1. brew upgrade python

python2 和 python3 共存

 
  1. brew install python

安装指定版本

前面的方法都是默认安装了 brewhome 仓库里面最新的版本,如果我们要安装某指定版本,可以通过官网下载 macOS 安装包来实现。然后一路安装下去即可。

安装完成后,此时你敲入 python 依然显示的是 python2

 
  1. ➜ ~ python

  2. Python 2.7.10 (default, Oct 6 2017, 22:29:07)

  3. [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin

  4. Type "help", "copyright", "credits" or "license" for more information.

  5. >>>

但你输入 python3,可以启动 python3 解析器

 
  1. ➜ ~ python3

  2. Python 3.6.5 (default, Mar 30 2018, 06:41:53)

  3. [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin

  4. Type "help", "copyright", "credits" or "license" for more information.

  5. >>>

所以如果你要设置默认的 python 为 python3 的话,做个软连接把 python 指到 python3 即可。修改软连接,首先需要切换到 root 用户,获得管理员权限。

 
  1. ➜ ~ su -

  2. Password:

  3. mymacbook~ root# mv /usr/bin/python /usr/bin/python.bak

  4. mymacbook~ root# which python3

  5. /usr/local/bin/python3

  6. mymacbook~ root# ln -s /usr/local/bin/python3 /usr/bin/python

  7. mymacbook~ root# python

  8. Python 3.6.5 (default, Mar 30 2018, 06:41:53)

  9. [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin

  10. Type "help", "copyright", "credits" or "license" for more information.

  11. >>>

到此为止,我们把 Windows、Linux、Mac 下 Python 编程环境都搭起来了。不同人安装的时候,会有不同的有意思的问题,大家可以在下面留言。

推荐学习

内容全面升级,5 个月 20+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,带你一站式掌握测试开发必备核心技能(对标阿里P6+,年薪50W+)!直推 BAT 名企测试经理,普遍涨薪 50%+!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 0 开始学 Python 自动化测试开发(二):环境搭建 的相关文章

  • 在 Clojure 中处理两个序列中的值对

    我正在尝试加入 Clojure 社区 我经常使用 Python 我广泛使用的功能之一是 zip 方法 用于迭代值对 在 Clojure 中是否有一种 聪明且简短的 方法可以实现相同的目标 另一种方法是简单地将 map 与一些按顺序收集其参数
  • 将 for 循环转换为列表理解

    我有一个for循环 将字符串列表中每个元素的子字符串与另一个字符串列表中的元素进行比较 mylist for x in list1 mat False for y in list2 if x 14 in y mat True if not
  • 将 Python 脚本导入另一个脚本?

    我正在阅读 Zed Shaw 的 艰难学习 Python 正在学习第 26 课 在本课中 我们必须修复一些代码 这些代码从另一个脚本调用函数 他说我们不必导入它们来通过测试 但我很好奇我们将如何做到这一点 课程链接 http learnpy
  • Pycharm 出现 Kivy 错误 [严重] [应用程序] 无法获取窗口,中止

    我正在尝试让示例 Kivy 代码之一在我的机器上运行 我使用的是 Pycharm 社区版 2017 1 安装了 anaconda python 2 7 和 Kivy 1 9 我已使用项目设置将 Kivy 模块和 Pygame 模块安装到项目
  • Django - 403 Forbidden CSRF 验证失败

    我在 Django 中为我的网站提供了一个联系表单 当我在本地测试它时 它工作正常 但现在当我尝试 实时 提交我的联系表单时 它总是出现 403 禁止 CSRF 验证失败 view def contact request if reques
  • pythonic方式来反转一个字典,其中值是列表?

    我有一本看起来像这样的字典 letters by number 1 a b c d 2 b d 3 a c 4 a d 5 b c 我想将其反转为如下所示 numbers by letter a 1 3 4 b 1 2 5 c 1 3 5
  • Python 的贝叶斯垃圾邮件过滤库

    我正在寻找一个可以进行贝叶斯垃圾邮件过滤的 Python 库 我查看了 SpamBayes 和 OpenBayes 但两者似乎都没有维护 我可能是错的 谁能推荐一个好的 Python 或 Clojure Common Lisp 甚至 Rub
  • 我怎样才能用Python中的语音识别来检测一个单词

    我知道如何用 Python 检测语音 但这个问题更具体 如何让 Python 只监听一个单词 然后如果 Python 可以识别该单词则返回 True 我知道 我可以让 Python 一直监听 然后做出类似的东西 伪代码 while True
  • “unicode”对象没有属性“_meta”

    我正在尝试创建一个视图 用户在其中从下拉菜单中选择一个选项 提交它 然后返回一些数据 具体来说 他们将从数据库中的模型中进行选择 并返回该类的所有实例 我使用 django tables2 输出数据 以便可以排序 但这是我的症结所在 Vie
  • 有一些 numpy.map 吗?

    我可能在这里遗漏了一些明显的东西 但我遗漏了一个功能numpy map 这与 Python 的相同map函数 但将输出收集在numpy大批 例如 我可以有一个图像生成器genImage i 生成 2D 图像 大小 m n 基于单个输入 我想
  • 如何使绘图的 xtick 标签成为简单的绘图?

    我不想用单词或数字作为 x 轴的刻度标签 而是想绘制一个简单的绘图 由直线和圆圈组成 作为每个 x 刻度的标签 这可能吗 如果是这样 在 matplotlib 中处理它的最佳方法是什么 我会删除刻度标签并将文本替换为patches http
  • SyntaxError:创建类实例时语法无效[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在 Python shell 3 3 2 中运行这段代码 但它给了我SyntaxError invalid syntax cla
  • 在 C++ 中运行 python [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个用 C 编写的应用程序和一个测试系统 也是用 C 编写的 测试系统非常复杂并且很难改变 我只想做一些小的改变 我的班级是这样的
  • 将2个暗淡数组“列表列表”输出到python中的文本文件

    简单的问题 我正在创建一个两个暗淡的数组 ddist 0 d for in 0 d 在下面的代码中使用列表 它使用 gis 数据输出距离 我只是想要一种简单的方法来获取数组 列表的结果并将其输出到保持相同的 N N 结构的文本文件 我过去曾
  • 将人员分配到床位 - 自动化方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我每年都会帮助举办青年营 将与会者分配到卧室是一项艰巨的任务 有 92 个卧室 活动持续一周 与会者停留的时间长短不一 而且床需要重复
  • 异常:AttributeError:使用 Azure Function 和 Python 的“DefaultAzureCredential”对象没有属性“signed_session”

    我编写了一个运行 Python3 的 Azure 函数来简单地打开 Azure VM 该函数应用程序具有系统分配的托管标识 我已为其授予 VM 贡献者角色 为了让该函数使用托管标识 我使用了 DefaultAzureCredential 类
  • 在 Python 中将主题标头添加到 server.sendmail()

    我正在编写一个 python 脚本来从终端发送电子邮件 在我目前发送的邮件中 它没有主题 我们如何为此电子邮件添加主题 我当前的代码 import smtplib msg From email protected cdn cgi l ema
  • 需要FTP文件而不存储解释器文件通过Python保存在本地

    我正在尝试做一些图像解释器并尝试将它们直接存储到 FTP 服务器 但我的步骤是从本地文件夹上传图像 然后将其转换为蒙版图像 然后它将获得最终输出 但是在我的蒙版和最终输出场景中 临时图像被保存在本地 这是我不想要的 但如果不将图像存储在本地
  • Pytorch RuntimeError:张量 a (4) 的大小必须与非单维 0 处张量 b (3) 的大小匹配

    我使用的代码来自here https www learnopencv com image classification using transfer learning in pytorch 训练模型来预测印刷样式编号0 to 9 idx t
  • Bokeh 中的相关图问题

    当我通过绘制数据时rect 来自 Bokeh 我在可视化中得到了一条由水平块组成的单行 数据打印正确 据我所知格式正确 type 验证它们都是列表 谁能诊断这个吗 如果问题不在这里 那么我可以附加更多代码 如果需要 在 Ubuntu 14

随机推荐

  • Java 实现简单邮件发送(带附件)

    目录 前言 一 添加pom依赖 二 完整发邮件代码 前言 最近写发邮件的功能时 需要把excel文件和邮件内容一起发送 简单记录 一 添加pom依赖
  • C# SuperSocket 手把手教你入门 傻瓜教程---3(Telnet服务器和客户端请求处理)

    C SuperSocket 手把手教你入门 傻瓜教程系列教程 C SuperSocket 手把手教你入门 傻瓜教程 1 服务器单向接收客户端发送数据 C SuperSocket 手把手教你入门 傻瓜教程 2 服务器和客户端双向通信 C Su
  • ICP算法(Iterative Closest Point迭代最近点算法)

    最近在做点云匹配 需要用c 实现ICP算法 下面是简单理解 期待高手指正 ICP算法能够使不同的坐标下的点云数据合并到同一个坐标系统中 首先是找到一个可用的变换 配准操作实际是要找到从坐标系1到坐标系2的一个刚性变换 ICP算法本质上是基于
  • JMeter快速入门知识系列(7)----JMeter断言之响应断言

    7 1 断言的定义 断言用于验证取样器请求或对应的响应数据是否返回了期望的结果 可以是看成验证测试是否预期的方法 对于接口测试与性能测试来说 就是测试Request Response 断言即可以针对Request进行 也可以针对Respon
  • C语言scanf()函数使用的注意事项

    scanf 函数相信就算刚学C语言的朋友也知道 这是一个标准输入函数 它是从标准输入流stdin中读内容的 它的第一个参数是格式化字符串 后面跟着的存储内容的地址列表 如果在全段代码中 只调用一次 且只获取一个变量内容的话 一般不会出现什么
  • POJ 275 Drainage Ditches|网络流|dinic模版

    问题描述 总时间限制 1000ms内存限制 65536kB 描述 Every time it rains on Farmer John s fields a pond forms over Bessie s favorite clover
  • Metis异常检测样本管理源码分析

    Metis异常检测样本管理源码分析 1 表说明 2 样本来源 2 1 样本导入 2 2 异常样本生成 2 3 异常样本打标 1 表说明 Metis一共三张表 anomaly sample dataset train task sample
  • C++STL常见面试题总结

    1 STL的介绍 STL 标准模板库 提高程序的 开发效率 和 复用性 STL包含的 6大组件 容器 迭代器 算法 仿函数 适配器 空间配置器 各组件的作用 容器 用于容纳一组相同类型的元素 迭代器 算法 仿函数 适配器 空间配置器 负责空
  • pytorch构造可迭代的DataLoader,动态流式读取数据源,不担心内存炸裂(pytorch Data学习三)

    构造迭代读取的Dataloader 首先需要可迭代的DataSet 这一部分详细请参考 pytorch构造可迭代的Dataset IterableDataset pytorch Data学习二 下面直接开始封装到DataLoader中 文章
  • 国内券商有没有提供股票量化交易,程序化交易接口的,怎么用?

    有的 python语言 免费使用 个人账户可开 直连交易所 行情及时准确 以前想实现股票的程序化交易门槛很高 要么资金实力足 要么技术实力强 小散户根本不用想 现在不一样了 门槛降低了 也没有什么资金要求 python语言 上手快速简单 个
  • uniapp插件使用

    1 插件页购买或者试用 2 manifest里勾选插件 3 按插件页文档集成 试用或者购买 选择自己文件uniapp应用标识 4 制作自定义基座 5 注意选择你刚自定义的基座运行 注意不是标准基座 6 如果还不行 卸载下手机上的应用 重新运
  • openldap (一) ldap连接

    连接和初始化ldap相关api在open c中提供 ldap open defconn 创建一个默认连接 调用者确保调用此函数时已经加锁 ldap open 初始化并连接到ldap服务器 ldap create 创建一个ldap ldap
  • 虚拟内存和分页文件

    分页文件 也就是虚拟内存文件 或叫做交换文件 Windows 2000 XP 2003中的分页文件名为pagefile sys 虚拟内存有什么用 内存在计算机中的作用很大 电脑中所有运行的程序都需要经过内存来执行 如果执行的程序很大或很多
  • Github隐藏功能显示自己的README,个人化你的Github主页

    创作者 全栈弄潮儿 个人主页 全栈弄潮儿的个人主页 个人社区 欢迎你的加入 全栈弄潮儿的个人社区 专栏地址 魔法工具 人工智能福利文章 分享几个国内免费可用的ChatGPT镜像 10几个类ChatGPT国内AI大模型 用 文心一言 1分钟写
  • Chrome OS 将实现在虚拟机上运行 Linux 应用程序

    Chromebook 用户很快就可以通过更简单的方式在 Google Chrome OS 硬件上运行 Linux 发行版和应用程序 据外媒 Chrome Unboxed 报道 Chromium Gerrit 上有一个新合并的提交 描述了 在
  • vulnhub-KIOPTRIX: LEVEL 1.2 (#3)-KioptrixVM3靶场

    以下演示均在测试环境进行 遵守法律 维护网络安全 靶场链接 Kioptrix Level 1 2 3 VulnHub 靶场为单层网络 下载解压之后 直接设置网络为nat模式 kali攻击机同样设置为nat 保持两者在同一个网段即可 本次没有
  • 将YOLOV5数据集不同类别分开的Python脚本

    将YOLOV5数据集不同类别分开的Python脚本 import os import shutil labelall path r C Users 1 Desktop test labels all 所有标签存放的路径 imgall pat
  • 3种等待方式,让你学会Selenium设置自动化等待测试脚本!

    一 Selenium脚本为什么要设置等待方式 即他的应用背景到底是什么 应用Selenium时 浏览器加载过程中无法立即显示对应的页面元素从而无法进行元素操作 需设置一定的等待时间去等待元素的出现 简单来说 就是设置一个等待时间让页面元素加
  • JUC并发编程之ReentrantLock

    1 非公平锁实现原理 加锁解锁流程 构造器默认实现的是非公平锁 public ReentrantLock sync new NonfairSync NonfairSync 继承 Sync Sync 继承 AbstractQueuedSync
  • 从 0 开始学 Python 自动化测试开发(二):环境搭建

    本文是 从 0 开始学 Python 自动化测试开发 专题系列文章第二篇 环境搭建篇 适合零基础入门的同学 没有阅读过上一篇的同学 请戳蓝色字体阅读 作者方程老师 是前某跨国通信公司高级测试经理 目前为某互联网名企资深测试技术专家 也是霍格