jenkins:三.docker容器安裝python3環境


前言

上一篇我們安裝在docker中安裝了jenkins,運行jenkins工作目錄workspaces是在容器內運行的,因此如果執行python代碼,容器內部需要安裝python3環境.

構建的時候輸入pip3,提示:pip3: not found

 進jenkins容器

docke ps

查詢正在運行容器id

docker exec -it -u root e7d57efc9142 /bin/bash

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

查看當前操作系統cat /etc/issue

[root@VM_0_11_centos ~]# docker exec -it -u root e7d57efc9142 /bin/bash
root@e7d57efc9142:/# cat /etc/issue
Debian GNU/Linux 9 \n \l

這里查到的是Debian系統(不是ubuntu, 也不是centos),這里yum是沒有的,所以不能用yum安裝了,這里用apt-get代替yum
先執行更新apt-get

apt-get update

容器內部安裝python3環境

進入容器工作目錄

cd /var/jenkins_home/

創建python3文件

mkdir python3

進入python3目錄

cd python3/

下載python3 package

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

解壓下載的tar包

tar -xvf Python-3.6.8.tgz

解壓完之后需要編譯Python-3.6.8包下的文件,先cd過去執行完這句命令之后,把python的安裝目錄指定一下,這樣的話,里面的一些bin目錄、lib目錄就都會存放在這個目錄下面。
如果不指定這個安裝目錄的話,最后python的安裝文件將分散到linux的默認目錄,不在一塊。我們指定安裝目錄,以后卸載的話直接刪除目錄就可以干凈卸載了。

./configure --prefix=/var/jenkins_home/python3

執行 ./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 安裝

 添加軟鏈接

添加python3軟鏈接

find / -name python3

ln -s /var/jenkins_home/python3/bin/python3 /usr/bin/python3

添加pip3軟鏈接

find / -name pip3

ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3

檢查環境

輸入pip3 和python3檢查環境

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安裝

安裝完成之后只能解決系統自帶的python2對應的pip安裝問題,無法解決python3的pip3安裝問題。

解決辦法:上面編譯的時候需加上參數 --with-ssl

重新執行make和make install 就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM