Jenkins(2)docker容器中安裝python3
阿新 • • 發佈:2021-01-20
前言
使用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:/#