Jenkins(2)docker容器中安装python3「建议收藏」

Jenkins(2)docker容器中安装python3「建议收藏」前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

使用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:/# 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165304.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月31日
  • Jenkins(2)docker容器中安装python3「建议收藏」

    Jenkins(2)docker容器中安装python3「建议收藏」前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月30日
  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月29日
  • centos7.4安装docker_pythondocker

    centos7.4安装docker_pythondocker前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

    2022年7月31日
  • docker部署web项目_小钢炮docker安装web

    docker部署web项目_小钢炮docker安装web前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

    2022年7月29日
  • 【云原生 | 05】Docker中容器的创建与启停「建议收藏」

    【云原生 | 05】Docker中容器的创建与启停「建议收藏」首先Docker会检查本地是否存在基础镜像,如果本地还没有该镜像的话,那么Docker就会连接官方维护的DockerHubRegistry,查看DockerHub中是否有该镜像。Docker一旦找到该镜像,就会下载该镜像并将其保存到本地宿主机中。随后,Docker在文件系统内部用这个镜像创建了一个新容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。………………

    2022年10月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号