企业级环境部署:在 Linux 服务器上如何搭建和部署 Python 环境?

在大部分企业里,自动化测试框架落地都肯定会集成到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 环境?的更多相关文章
- springboot 定时任务部署至linux服务器上后会执行两次问题
springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- ireport部署到Linux服务器上遇到的问题解决
ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...
- 案例 (一)如何把python项目部署到linux服务器上
一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...
- windows 安装 jenkins 自动化构建部署至linux服务器上
一.环境准备 1.git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2.maven安装环境,包括jdk环境安装 参考链接 htt ...
- springboot打成Jar包后部署至Linux服务器上
下面主要记录一下springboot打包成jar包在Linux服务上部署的步骤: 1.通过WinSCP,将相应的Jar文件,复制到Linux指定目录下,如/home/ 2.打开ssh,进入/home目 ...
- openfire源码修改后如何打包部署到linux服务器上
原文:http://blog.csdn.net/jinzhencs/article/details/50457152 1.linux版本的3.10.3解压部署启动(过程略,参考我的另一篇博文http: ...
- Linux服务器上的tomcat中部署web项目
首先了解一下下面几个概念,讲得不太准确:1.JVMJVM是class以及jar(实际上就是很多个class压缩在一起)的运行环境,特征就是java和javaw命令,通过这两个命令,你可以执行class ...
- 简单将Springboot项目部署到linux服务器上
1.使用springboot的jar包方式 直接使用maven工具按照步骤点击就可以直接打包 2.到target目录下找到 jar包 3.将jar包放到linux的任意文件夹下(此项目是之前的kafk ...
随机推荐
- Debian中配置NIS:用户账号管理
1.添加指定gid的组 groupadd -g 1001 upload # 添加了一个指定gid为1001的upload用户 2.添加指定uid的用户,并加入到指定组 useradd -u 1001 ...
- asp.net core api 3.1 dynamic 入参转json对象
比如接口 public object GetList(dynamic obj){ //var jElement=(JsonElement)obj;//使用system.text.json处理 var ...
- 【前端】css js 全屏 esc退出全屏 滚动条隐藏 兼容火狐,文字超出容器长度省略号显示
全屏 if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.msRequestFullscreen ...
- IceRPC之深入理解调度管道->快乐的RPC
作者引言 很高兴啊,我们来到了IceRPC之深入理解调度管道->快乐的RPC,为上篇的续篇,深入理解常见的调度类型, 基础引导,有点小压力,打好基础,才能让自已不在迷茫,快乐的畅游世界. 传入请 ...
- 基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目
基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目 引言 前几年,娱乐物联网的热度很高.我当时所在的公司启动了一个将线下娃娃机的玩法,迁移到线上的项目,因此公司决定开发一个在线直播抓娃 ...
- C# 实现中文转颜色 - 实现根据名字自动生成头像
一.C#实现中文转颜色 - 实现根据名字自动生成头像 原理说明: 由于名字图像是自动生成,背景颜色不一样,可以考虑一下几种方法: 1)使用随机数来自动生成一个16进制颜色字符串,作为头像的背景颜色: ...
- firewall防火墙基础配置
Firewalld防火墙 Centos7 中集成了防火墙管理工具, Firewall系统动态防火墙管理器是作为默认的防火墙工具. 它支持规则动态更新,并加入zone区域概念. Firewalld防火墙 ...
- Specs satisfying the `flutter_twitter (from `.symlinks/plugins/flutter_twitter/ios`)` dependency were found, but they required a higher minimum deployment target
MXFlutter的依赖发生变化,需要将iOS最低系统版本提高 修改之后,进入到MXFlutter目录,执行 flutter run 发现编译错误 咨询了下,mxflutter需要flutter为 用 ...
- Java爬虫-爬取疫苗批次信息
今年3月份开始,就接到通知, 根据<关于开展有关人群第二剂次脊髓灰质炎灭活疫苗补种工作的通知>国疾控卫免发[2024]1号文件要求,在2016年3月1日至2019年9月30日之间出生的儿童 ...
- CSP-S2019 题解
做了这套题,如果是让现在的我当时去考的话应该一共可以有 450 分,格雷码,括号树,树的重心都可以做,树上的数可以有 10 分,Emiya 至少可以有 76 分, 划分也可以有 64 分.看 OIer ...