Python3离线安装及库更新
背景
在过去的工作中,生产环境的服务器总是与互联网隔离,而为了提高工作效率,往往离不开python,那么在这种封闭的环境里,该如何安装python及更新想用的第三方库呢?这个问题始终困扰着我,其实解决办法很简单,今天将其以案例的形式记录、总结、分享出来。
思路
- 在虚机中安装与生产环境版本一致的操作系统
- 在虚机中安装python
- 在虚机中安装python第三方库
- 在虚机中将python目录打包导出
- 将python包上传到生产环境中
- 使用python绝对路径方式调用、验证
步骤
一, 安装操作系统
生产环境的操作系统版本是RHEL 7.6,于是我在自己的虚机中安装了同样版本的操作系统
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
二, 安装python
2.1, 安装依赖环境
[root@localhost ~]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel \
sqlite-devel readline-devel tk-devel gdbm-devel \
db4-devel libpcap-devel xz-devel gcc libffi-devel
2.2, 安装python
2.2.1, 创建Python目录
[root@localhost ~]# mkdir -p /usr/local/python3
2.2.2, 解压Python-3.x.x.tgz包
[root@localhost python3]# tar zxvf Python-3.7.14.tgz
2.2.3, 编译安装
进入解压后的目录,编译安装:
[root@localhost ~]# cd Python-3.9.6
./configure --prefix=/usr/local/python3
[root@localhost Python-3.9.6]# make && make install
2.2.4, 运行验证
[root@localhost ~]# /usr/local/python3/bin/python3
Python 3.7.14 (default, Oct 20 2022, 10:57:21)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
三, 安装第三方库
3.1, pip安装xlrd、xlwt
cd /usr/local/python3/bin/
./pip3 install xlrd
./pip3 install xlwt
3.2, 验证
[root@localhost bin]# /usr/local/python3/bin/python3
Python 3.7.14 (default, Oct 20 2022, 10:57:21)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import xlrd,xlwt
四, python目录打包导出
cd /usr/local/
tar zcf python3.tar.gz ./python3
五, 导入并解压python包
生产环境导入并解压python包
[root@localhost local]# cd /usr/local/
[root@localhost local]# tar zxf python3.tar.gz
六, 验证
在生产环境中,使用python绝对路径方式调用、验证。
当第三方软件,如zabbix需要调用python脚本时,使用python的绝对路径运行即可。
[root@localhost ~]# /usr/local/python3/bin/python3
Python 3.7.14 (default, Oct 20 2022, 10:57:21)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import xlrd,xlwt
>>>