jenkins学习4-进docker容器安装python3环境
前言
使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。
(这篇不用看了,docker容器安装环境比较复杂,可以参考添加宿主机节点的方式https://www.cnblogs.com/yoyoketang/p/12521464.html)
遇到问题
构建的时候输入pip3,提示:pip3: not found
构建job后控制台输出内容
Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/yoyoketang
[yoyoketang] $ /bin/sh -xe /tmp/jenkins2225854290036644814.sh
+ pwd
/var/jenkins_home/workspace/yoyoketang
+ pip3
/tmp/jenkins2225854290036644814.sh: 3: /tmp/jenkins2225854290036644814.sh: pip3: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
pip3: not found,说明jenkins容器内部并没有python3的环境
进jenkins容器
进docker容器, 加上-u root 以root用户权限进入容器
docker exec -it -u root 容器id /bin/bash
查看当前操作系统cat /etc/issue
root@cb8e397d5308:/# uname -a
Linux cb8e397d5308 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 GNU/Linux
root@cb8e397d5308:/# cat /etc/issue
Debian GNU/Linux 9 \n \l
这里查到的是Debian系统(不是ubuntu, 也不是centos),这里yum是没有的,所以不能用yum安装了,这里用apt-get代替yum
先执行更新apt-get
apt-get update
容器内部安装python3环境
下载python3安装包
进入容器内部, linux安装python3环境,参考这篇https://www.cnblogs.com/yoyoketang/p/10195102.html
root@cb8e397d5308:/var/jenkins_home# cd /var/jenkins_home/
root@cb8e397d5308:/var/jenkins_home# mkdir python3
root@cb8e397d5308:/var/jenkins_home# cd python3/
root@cb8e397d5308:/var/jenkins_home/python3# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
root@cb8e397d5308:/var/jenkins_home/python3# tar -xvf Python-3.6.8.tgz
root@cb8e397d5308:/var/jenkins_home/python3# ls
Python-3.6.8 Python-3.6.8.tgz
root@cb8e397d5308:/var/jenkins_home/python3# cd Python-3.6.8
root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# ./configure --prefix=/var/jenkins_home/python3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python3.6... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... linux
checking for --without-gcc... no
checking for --with-icc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/var/jenkins_home/python3/Python-3.6.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
执行 ./configure --prefix=/var/jenkins_home/python3
时报上面错:configure: error: no acceptable C compiler found in $PATH
apt-get 安装依赖包
这个是因为缺少gcc相关依赖包,使用apt-get代替yum安装相关依赖包
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo
make编译安装
在/var/jenkins_home/python3/Python-3.6.8目录执行make和make install 安装
./configure --prefix=/var/jenkins_home/python3 --with-ssl
make
make install
添加软链接
添加python3软链接
ln -s /var/jenkins_home/python3/bin/python3.6 /usr/bin/python3
添加pip3软链接
ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3
检查环境
输入pip3 和python3检查环境
root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# pip3root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# python3
Python 3.6.8 (default, Jan 1 2020, 10:15:14)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
使用pip3安装一个requests包
pip3 install requests
ssl问题
如果pip3安装的时候遇到报ssl相关问题:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
这个是因为缺少ssl依赖包,网上的解决方案是yum install openssl-devel
,由于Debian系统没有yum,用apt-get安装
apt-get -y install openssl libssl-dev
安装完成之后只能解决系统自带的python2对应的pip安装问题,无法解决python3的pip3安装问题。
解决办法:上面编译的时候需加上参数 --with-ssl
./configure --prefix=/var/jenkins_home/python3 --with-ssl
重新执行make和make install 就可以了
也可以在python环境检查是否能导入ssl
root@cb8e397d5308:/var/jenkins_home/python3/Python-3.6.8# python3
Python 3.6.8 (default, Jan 1 2020, 10:15:14)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>
jenkins学习4-进docker容器安装python3环境相关推荐
- Docker容器技术与应用(项目2 Docker容器安装和使用)
项目2 Docker容器安装和使用 下面重点介绍Docker的安装,镜像Image.镜像仓库Registry和容器Container的使用和管理. 图2.1 Docker镜像.容器和仓库之间的主要操作 ...
- 『中级篇』docker容器安装wordpress(37)
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker容器安装wordpress(37) 第一节的时候我就部署过wordpress,可能很多老铁一头雾水不知道 ...
- centos 7 局域网丢包排查_一文掌握docker centos 安装python3.7「精品」
今天我将通过下文,详细向大家介绍如何在docker下安装python3.7,当然是在centos中: 一.获取centos镜像 docker pull centos:centos7 二.查看容器 do ...
- TYK Docker容器安装
TYK Docker容器安装 TYK简介 Tyk是一个开源的轻量级API网关程序,Tyk官网 TYK的特点 请求配额和速率限制 多种认证方式 数据分析 不停机发布REST API 能够导入Apiary ...
- Linux下的docker容器安装教程
Linux下的docker容器安装教程 一.初始环境配置 1.yum仓库配置 2.检查yum仓库 3.关闭防火墙和selinux 二.开启内核的流量转发 三.安装docker 1.配置docker相关 ...
- Docker容器安装配置
Docker容器安装配置 一.检查服务器环境 1.系统内核 2.系统版本 二.Docker安装 1.Docker官方网址 2.卸载旧的版本docker 3.需要的安装包 4.设置镜像的仓库 5.查看d ...
- mysql8.0 利用docker容器安装配置多主多从集群
mysql8.0 利用docker容器安装配置多主多从集群 原文:https://www.cnblogs.com/lkl6/p/14191419.html
- 基于Docker容器安装nginx
基于Docker容器安装nginx (1)在Docker仓库中搜索Nginx镜像 docker search nginx (2)从Docker仓库中下载Nginx镜像 docker pull dock ...
- Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装)
临头一砖--代理服务器Nginx Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装) Keepalived搭配Nginx的高可用策略验证和实操 Keepalived搭配Ng ...
最新文章
- 滴滴出行首次进军非洲市场,网络推广外包后的滴滴想去的国家还有很多
- sql练习(针对Mysql)
- python随机抽取人名_python的random
- matlab水蒸气焓值计算_从第一性原理计算出发来理解含能配合物宏观行为的趋势...
- php小白书,php小白的自学第一天
- 字符串中第一次重复出现的数及第一次不重复出现的数
- shell---------Debug模式
- centreon-engine 性能调优
- 生成fnt字体工具BMFontTool工具
- 北大青鸟汉字注释机内码_delphi取汉字的机内码、UniCode码
- excel 连接 mysql_Excel 数据库连接
- netbeans莫明其妙的报错
- linux启动jdt服务,Eclipse搭建scala环境(解决“JDT weaving is currently disabled”)
- python代码表达失恋_Python 经典面试题汇总之网络篇
- PicPick Pro v7.0.0 屏幕截图编辑工具解锁全功能单文件版
- dede列表上一页下一页翻页记录重复问题解决
- 选择java版本_新手上路之如何选择Java版本
- 2019美国数学建模B题翻译:Problem B: Send in the Drones: Developing an Aerial Disaster Relief Response System
- 变电站巡检机器人工作中有哪些常见问题?该如何解决
- 机器学习强基计划2-2:一文详解ID3、C4.5、CART决策树算法+ Python实现