在大部分企业里,自动化测试框架落地都肯定会集成到Jenkins服务器上做持续集成测试,自动构建以及发送结果到邮箱,实现真正的无人值守测试。

不过Jenkins搭建一般都会部署在公司的服务器上,不会在私人电脑里,而服务器大部分都是Linux操作系统的。所以,我们如果要在Linux上的Jenkins服务器里运行python自动化的脚本,那么就在linux服务器上把python以及相关用到的第三方库的环境都安装部署好。

我们今天就给大家详细介绍一下Linux里如何安装和部署Python的环境

安装Python

1、在Linux的home目录下创建一个python3目录

mkdir /home/python3

2、切换到python3目录

cd /home/python3

3、下载安装包到python3目录中(也可通过在网站下载安装包手动拖入到指定目录)

wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz

4、将安装包解压到当前目录

tar -xzvf Python-3.9.9.tgz

上述解压操作做完后,/home/python3目录下会出现一个Python-3.9.9的目录。

安装前先修改python配置文件Setup.dist和Setup,否则使用过程中可能会出现错误:

5、进入文件所在目录:

cd /home/python3/Python-3.9.9/Modules

6、修改Setup文件:vi Setup

如图所示,取消注释这5行;

7、提前安装编译时所需要的依赖包,避免中途出错

yum -y install vim unzip net-tools && yum -y install wget && yum -y install bzip2 && yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel && yum -y install libglvnd-glx && yum -y install gcc gcc-c++

8、进入Python-3.9.9目录:

cd Python-3.9.9

9、指定python3安装路径,比如 /usr/local/python3.9:

./configure --prefix=/usr/local/python3.9

10、编译+安装:

make && make install

11、添加软链接(相当于设置桌面快捷方式):

#添加python3软链接到/usr/bin/python3
ln -s /usr/local/python3.9/bin/python3.9 /usr/bin/python3 #添加pip3软链接/usr/bin/pip3
ln -s /usr/local/python3.9/bin/pip3 /usr/bin/pip3

12、查看Python是否安装成功:

python3 -V
pip3 -V

分别得到如图结果,说明安装成功:

注意:因为Linux操作系统里自带了一个Python环境,不过是Python2的版本,所以我们重新安装了Python3的版本后,使用命令要加python3 和pip3 才会使用新安装的版本。直接用Python和pip命令,会默认使用自带的python2的环境。

安装Python的第三方库

自动化框架里使用到的任何一个第三方库都需要在linux服务器上安装成功,才能保证这个框架脚本正常的被执行。

安装第三方库的命令:pip3 install xxx 【第三方库的名字】,比如要安装requests库,使用命令 pip3 install requests:

按照同样的方法,把其他的第三方库都安装成功。

然后就可以把自动化框架的代码提交给Linux服务器,用命令行运行了,比如要执行入口文件run.py:

python3 run.py

注意:因为前面所有的第三方库都是安装在python3的环境下的,所以要运行自动化框架的代码要使用python3命令,如果使用python运行默认使用2的版本,就会找不到这些第三方库的环境了。

常见错误及其解决方案

1、如下错误是编码错误:

解决方法:

在头文件中添加如下代码即可:

# -*- coding: utf-8 -*-
或者
# coding:utf-8

2、安装第三方库失败,可以尝试升级pip3版本之后,再次安装:

/usr/local/python3.9/bin/python3.9 -m pip install --upgrade pip

企业级环境部署:在 Linux 服务器上如何搭建和部署 Python 环境?的更多相关文章

  1. springboot 定时任务部署至linux服务器上后会执行两次问题

    springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...

  2. .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上

    今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...

  3. ireport部署到Linux服务器上遇到的问题解决

    ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...

  4. 把 web 项目部署到 Linux 服务器上

    1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例   2.项目打包成 war ,选择项目导出到的位置. ...

  5. 案例 (一)如何把python项目部署到linux服务器上

      一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...

  6. windows 安装 jenkins 自动化构建部署至linux服务器上

    一.环境准备 1.git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2.maven安装环境,包括jdk环境安装 参考链接 htt ...

  7. springboot打成Jar包后部署至Linux服务器上

    下面主要记录一下springboot打包成jar包在Linux服务上部署的步骤: 1.通过WinSCP,将相应的Jar文件,复制到Linux指定目录下,如/home/ 2.打开ssh,进入/home目 ...

  8. openfire源码修改后如何打包部署到linux服务器上

    原文:http://blog.csdn.net/jinzhencs/article/details/50457152 1.linux版本的3.10.3解压部署启动(过程略,参考我的另一篇博文http: ...

  9. Linux服务器上的tomcat中部署web项目

    首先了解一下下面几个概念,讲得不太准确:1.JVMJVM是class以及jar(实际上就是很多个class压缩在一起)的运行环境,特征就是java和javaw命令,通过这两个命令,你可以执行class ...

  10. 简单将Springboot项目部署到linux服务器上

    1.使用springboot的jar包方式 直接使用maven工具按照步骤点击就可以直接打包 2.到target目录下找到 jar包 3.将jar包放到linux的任意文件夹下(此项目是之前的kafk ...

随机推荐

  1. Vue3使用Composition API实现响应式

    title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: ...

  2. kubernetes ingress网站发布

    ingress网站发布 单域名 # 1.创建nginx pod 名称: nginx-nodeport.yaml cat nginx-nodeport.yaml apiVersion: v1 kind: ...

  3. vue 的时间格式化

    大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...

  4. bash: _get_comp_words_by_ref: command not found 报错

    没有安装补全的包 错误信息 bash: _get_comp_words_by_ref: command not found 表明你的 shell 中可能存在补全功能的问题. 通常,这种错误发生在你的系 ...

  5. k8s核心组件详解和分层架构

    k8s核心组件 master中的核心组件 api-server(接口服务,基于rest风格开放k8s接口的服务) kube-controller-manager(管理各个类型的控制器,针对k8s中的各 ...

  6. python-一种字符串排序方式

    最近工作中,需要使用python实现一种排序方式,简要说明如下: 1.排序方式 假设有一个序列,数据为:['n1', 'n2', 'n10', 'n11', 'n21', 'n3', 'n13', ' ...

  7. Redis 常用的数据结构简介与实例测试【Redis 系列二】

    〇.都有哪些数据结构? Redis 提供了较为丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合).Zset(有序集合). 随着 Redis 版本的 ...

  8. 记录工作中常用的 JS 数组相关操作

    工作中难免会遇到各种各样的数据结构,较为全面的了解数组操作,对于复杂数据结构的处理会非常有用且节省时间 所以想在这里总结一下工作中常用的数组操作,都是一些非常基础的知识,大家看个乐就好~ 目录 工作中 ...

  9. 2023CSP-S游记

    2023 CSP-S 游记 赛前 上午去花卉市场看了半天花,算是放松放松,主要是为了晚上给干妈过50岁生日. 还以为是 2 点开始,1 点 40 多就到了,然后去买了杯奶茶,然后进场. 结果我是第一考 ...

  10. EF INNER JOIN WHERE ORDER BY

    同时使用 join,where,order by. UpdaterDbContext db = new UpdaterDbContext(); // 按 t_server 表的 seq ASC 排序, ...