前言

使用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环境相关推荐

  1. Docker容器技术与应用(项目2 Docker容器安装和使用)

    项目2 Docker容器安装和使用 下面重点介绍Docker的安装,镜像Image.镜像仓库Registry和容器Container的使用和管理. 图2.1 Docker镜像.容器和仓库之间的主要操作 ...

  2. 『中级篇』docker容器安装wordpress(37)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker容器安装wordpress(37) 第一节的时候我就部署过wordpress,可能很多老铁一头雾水不知道 ...

  3. centos 7 局域网丢包排查_一文掌握docker centos 安装python3.7「精品」

    今天我将通过下文,详细向大家介绍如何在docker下安装python3.7,当然是在centos中: 一.获取centos镜像 docker pull centos:centos7 二.查看容器 do ...

  4. TYK Docker容器安装

    TYK Docker容器安装 TYK简介 Tyk是一个开源的轻量级API网关程序,Tyk官网 TYK的特点 请求配额和速率限制 多种认证方式 数据分析 不停机发布REST API 能够导入Apiary ...

  5. Linux下的docker容器安装教程

    Linux下的docker容器安装教程 一.初始环境配置 1.yum仓库配置 2.检查yum仓库 3.关闭防火墙和selinux 二.开启内核的流量转发 三.安装docker 1.配置docker相关 ...

  6. Docker容器安装配置

    Docker容器安装配置 一.检查服务器环境 1.系统内核 2.系统版本 二.Docker安装 1.Docker官方网址 2.卸载旧的版本docker 3.需要的安装包 4.设置镜像的仓库 5.查看d ...

  7. mysql8.0 利用docker容器安装配置多主多从集群

    mysql8.0 利用docker容器安装配置多主多从集群 原文:https://www.cnblogs.com/lkl6/p/14191419.html

  8. 基于Docker容器安装nginx

    基于Docker容器安装nginx (1)在Docker仓库中搜索Nginx镜像 docker search nginx (2)从Docker仓库中下载Nginx镜像 docker pull dock ...

  9. Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装)

    临头一砖--代理服务器Nginx Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装) Keepalived搭配Nginx的高可用策略验证和实操 Keepalived搭配Ng ...

最新文章

  1. 滴滴出行首次进军非洲市场,网络推广外包后的滴滴想去的国家还有很多
  2. sql练习(针对Mysql)
  3. python随机抽取人名_python的random
  4. matlab水蒸气焓值计算_从第一性原理计算出发来理解含能配合物宏观行为的趋势...
  5. php小白书,php小白的自学第一天
  6. 字符串中第一次重复出现的数及第一次不重复出现的数
  7. shell---------Debug模式
  8. centreon-engine 性能调优
  9. 生成fnt字体工具BMFontTool工具
  10. 北大青鸟汉字注释机内码_delphi取汉字的机内码、UniCode码
  11. excel 连接 mysql_Excel 数据库连接
  12. netbeans莫明其妙的报错
  13. linux启动jdt服务,Eclipse搭建scala环境(解决“JDT weaving is currently disabled”)
  14. python代码表达失恋_Python 经典面试题汇总之网络篇
  15. PicPick Pro v7.0.0 屏幕截图编辑工具解锁全功能单文件版
  16. dede列表上一页下一页翻页记录重复问题解决
  17. 选择java版本_新手上路之如何选择Java版本
  18. 2019美国数学建模B题翻译:Problem B: Send in the Drones: Developing an Aerial Disaster Relief Response System
  19. 变电站巡检机器人工作中有哪些常见问题?该如何解决
  20. 机器学习强基计划2-2:一文详解ID3、C4.5、CART决策树算法+ Python实现

热门文章

  1. 王杰与宣萱合作lt;老婆大人gt; 获封两个第一(图)
  2. 微信商城开发:公众号平台接口配置及调试
  3. 《格兰杰计量经济学文集(第一卷)》
  4. June 8th ipod
  5. Halcon 之 Measure_Pairs
  6. [Study]JavaWeb
  7. 深入分析ClassLoader
  8. sled11下cscope工具用于阅读内核源码
  9. CodeVs 1148 传球游戏
  10. 农行k宝输入密码黑屏解决方法