Linux系统操作
获取安装文件
-
官网下载部分文件等
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
编译打包
-
注意为了能够升级pip以及在线安装需要添加参数
注意 为了能够保证产品能用, 需要多安装一个 rpm包
yum install libffi-devel
注意需要安装如下内容: yum groups install"Development Tools"
yum install tcl-devel tk-devel
以及进行 openssl的升级操作步骤为:
wgethttps://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.0.2.tar.gz
tar -zxvf libressl-3.0.2.tar.gz
mkdir /usr/local/libressl
cd libressl-3.0.2
./configure --prefix=/usr/local/libressl
make & make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/libressl/bin/openssl /usr/bin/openssl
ln -s /usr/local/libressl/include/openssl/usr/include/openssl
echo /usr/local/libressl/lib >> /etc/ld.so.conf.d/libressl-3.0.2.conf
ldconfig -v
建议再执行一下环境变量
export LDFLAGS="-L/usr/local/libressl/lib"
exportCPPFLAGS="-I/usr/local/libressl/include"
exportPKG_CONFIG_PATH="/usr/local/libressl/lib/pkgconfig"
编译打包
然后执行操作
./configure --prefix=/python3bin --with-ssl
注意 如果ssl的版本不一样 可能不好升级pip
弄好之后可以进行 make与makeinstall
注意 make 是进行编译make install 会将文件放到 prefix 指定路径下面
耗时会比较久:
验证编译打包效果
-
注意可以使用 ln -s 的方式进行软连接, 也可以不进行设置
-
使用全路径进行python3的使用也是可以的.
-
如果是打包成容器,因为原始容器的镜像是基本上无python的可以进行连接
查看版本
/python3bin/bin/python3 -V
Python 3.9.9
/python3bin/bin/pip3 -V
pip 21.2.4 from/python3bin/lib/python3.9/site-packages/pip (python 3.9)
查看 安装的pip 包的信息
/python3bin/bin/pip3 list
Package Version
---------- -------
paramiko 2.9.1
pip 21.2.4
setuptools 58.1.0
urllib3 1.26.7
xlrd 2.0.1
修改pip的源到国内的源
mkdir ~/.pip
vim ~/.pip/pip.conf
添加内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
升级pip的命令为:
/python3bin/bin/python3.9 -m pip install --upgrade pip
离线安装部分whl文件
-
上传文件然后安装
/python3bin/bin/pip3 installselenium-3.141.0-py2.py3-none-any.whl
查看安装效果:
/python3bin/bin/pip3 list
Package Version
---------- -------
pip 21.3.1
selenium 3.141.0
setuptools 58.1.0
urllib3 1.26.7
离线安装tar文件.
-
上传文件然后解压缩
cd ddt-1.4.4
/python3bin/bin/python3 setup.py install
/python3bin/bin/pip3 list
Package Version
---------- -------
ddt 1.4.4
pip 21.3.1
selenium 3.141.0
setuptools 58.1.0
urllib3 1.26.7
打包镜像备用
-
简单处理
mdkir /pyhton3.9.9
scp -r /python3bin /pyhton3.9.9
cd /pyhton3.9.9
vim dockerfile # 添加内容
FROM centos:gscloud
WORKDIR /python3bin
COPY /python3bin /python3bin
RUN ln -s /python3bin/bin/pip3 /usr/bin/pip
RUN ln -s /python3bin/bin/python3 /usr/bin/python
ENTRYPOINT ["/usr/sbin/init"]
docker build . -t python:3.9.9
验证镜像
-
注意镜像不要使用 -it 模式直接 -d 会一直存在
-
可以通过 -v 的方式挂载脚本文件路径即可.
[root@gscloudink8s ~]# docker run -d --restart=always--name python3 python:3.9.9
ecf933b286ad80b0af0baabf6f87cef4e92cd0ff1eef4a38acdda9f52cc4af3c
[root@gscloudink8s ~]# docker exec -it python3 bash
[root@ecf933b286ad python3bin]# pip list
Package Version
---------- -------
ddt 1.4.4
paramiko 2.9.1
pip 21.2.4
selenium 3.141.0
setuptools 58.1.0
urllib3 1.26.7
xlrd 2.0.1
WARNING: pip is configured with locations that requireTLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/:There was a problem confirming the ssl certificate:HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url:/simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because theSSL module is not available.")) - skipping