前言

使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。

进jenkins容器

进docker容器, 加上-u root 以root用户权限进入容器

docker exec -it -u root 容器id /bin/bash

查看当前操作系统cat /etc/issue

root@3be4b6cd9b8c:/# uname -a
Linux 3be4b6cd9b8c 4.19.121-linuxkit #1 SMP Tue Dec 1 17:50:32 UTC 2020 x86_64 GNU/Linux
root@3be4b6cd9b8c:/# cat /etc/issue
Debian GNU/Linux 9 \n \

这里查到的是Debian系统(不是ubuntu, 也不是centos),这里yum是没有的,所以不能用yum安装了,这里用apt-get代替yum

先执行更新apt-get

apt-get update

容器内部安装python3环境

下载python3安装包

root@3be4b6cd9b8c:/var/jenkins_home# cd /var/jenkins_home/
root@3be4b6cd9b8c:/var/jenkins_home# mkdir python3
root@3be4b6cd9b8c:/var/jenkins_home# cd python3/
root@3be4b6cd9b8c:/var/jenkins_home/python3# wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
root@3be4b6cd9b8c:/var/jenkins_home/python3# tar -xvf Python-3.76.tgz
root@3be4b6cd9b8c:/var/jenkins_home/python3# ls
Python-3.7.6 Python-3.7.6.tgz
root@3be4b6cd9b8c:/var/jenkins_home/python3# cd Python-3.7.6
root@3be4b6cd9b8c:/var/jenkins_home/python3/Python-3.7.6# ./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.7... 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.7.6':
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

由于python3.7以上版本在make install步骤中会出现缺少依赖(缺少_ctype)的错误提示,所以还需安装下面的依赖包

sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libxpm-dev libxext-dev
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev

make编译安装

在/var/jenkins_home/python3/Python-3.7.6目录执行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@3be4b6cd9b8c:/# python3 --version
Python 3.7.6
root@3be4b6cd9b8c:/# pip3 --version
pip 19.2.3 from /var/jenkins_home/python3/lib/python3.7/site-packages/pip (python 3.7)
root@3be4b6cd9b8c:/#

Jenkins(2)docker容器中安装python3的更多相关文章

  1. 在Docker容器中安装jdk和spark

    在Docker容器中安装jdk和spark 1.下载jdk和spark 可以使用迅雷等专业下载软件下载jdk和spark软件包,注意是linux版,这里直接给出下载地址: JDK下载地址 JDK进入后 ...

  2. 在docker容器中安装和使用,linux版的powershell

    powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...

  3. docker容器中安装vi命令

    在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时 ...

  4. docker容器中安装vim 、telnet、ifconfig, ping命令

    在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时 ...

  5. docker容器中安装vim 、telnet、ifconfig命令

    一.在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found 问题:apt-get install vim安装vim 命令时,提示:如下内 ...

  6. Docker容器中安装新的程序

    在容器里面安装一个简单的程序(ping). 之前下载的是ubuntu的镜像,则可以使用ubuntu的apt-get命令来安装ping程序:apt-get install -y ping. $docke ...

  7. Docker容器中安装vim

    我在docker中安装了jexus.使用vim编辑default配置文件的时候提示 vim: command not found 原因是docker中没有安装vim命令 如果你直接输入  apt-ge ...

  8. docker容器中安装vi

    容器中输入vi提示 root@e36f8029c9f2:/# vi bash: vi: command not found 解决办法: 1.通过命令获取最新的软件包 apt-get update ap ...

  9. docker容器中安装中文字体

    在项目中用到pdf导出功能,需要安装中文字体,项目使用docker部署,为了方便决定在将字体安装在镜像中. 1.在dockerfile文件中添加字体copy语句(本次用是的宋体,字体源文件放在dock ...

随机推荐

  1. mysql使用全文索引实现大字段的模糊查询

    0.场景说明 centos7 mysql5.7 InnoDB引擎 0.1创建表 DROP TABLE IF EXISTS tbl_article_content; CREATE TABLE tbl_a ...

  2. CQRS与Event Sourcing之浅见

    引言 DDD是近年软件设计的热门.CQRS与Event Sourcing作为实施DDD的一种选择,也逐步进入人们的视野.围绕这两个主题,软件开发的大咖[Martin Fowler].[Greg You ...

  3. PostgreSQL WAL日志详解

    wal日志即write ahead log预写式日志,简称wal日志.wal日志可以说是PostgreSQL中十分重要的部分,相当于oracle中的redo日志. 当数据库中数据发生变更时:chang ...

  4. Jenkins+GitLab+SonnarQube搭建CI/CD全流程

    1. CI/CD 1.1 CI - 持续集成 持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干.持续集成的目的就是让产品可以快速迭 ...

  5. shell 脚本安装Tomcat和java

    脚本安装Tomcat和java#!/bin/bash##SCRIPT:install_jdk-8u181-linux-x64_apache-tomcat-8.0.53#AUTHOR:Shinyinfo ...

  6. python 2.7.11 环境安装

    0  安装依赖: yum install zlib zlib-devel readline-devel sqlite-devel bzip2-devel openssl-devel gdbm-deve ...

  7. GC算法介绍及工作原理和优缺点

    一.GC定义与作用 GC就是垃圾回收机制的简写 GC可以找到内存中的垃圾,并释放和回收空间,GC里的垃圾是什么 如下图所示: GC算法是什么:GC是一种机制,垃圾回收器完成具体的工作 工作的内容就是查 ...

  8. Neo4j 图数据库查询

    Cypher 介绍 Cypher 介绍:作为Neo4j的查询语言,"Cypher"是一个描述性的图形查询语言,允许不必编写图形结构的遍历代码对图形存储有表现力和效率的查询.Cyph ...

  9. 【Linux】扩大swap分区

    今天安装oracle的时候,提示我swap分区过小.需要最少3g以上 但是安装系统了,想要扩大swap分区怎么办呢 下面来介绍如何扩大swap分区 按步骤介绍 Red Hat linux 如何增加sw ...

  10. mysql半同步复制跟无损半同步区别

    mysql半同步复制跟无损半同步复制的区别: 无损复制其实就是对semi sync增加了rpl_semi_sync_master_wait_point参数,来控制半同步模式下主库在返回给会话事务成功之 ...