RedHat离线安装python3.9及虚拟环境
linux服务器生产环境离线安装python很费劲,目前使用方案如下:1、在联网环境下安装python3;2、将python文件夹复制到生产环境,建立相应软链接即可;3、对于具体的项目使用不同python包的情况,采用 virtualenv 虚拟环境。4、对于虚拟环境也可以用文件夹复制到生产环境的方式处理
本文先将python安装过程,虚拟环境搭建过程,虚拟环境包的更新替换等过程写完。后续将写如何将包安装到非联网生产环境,即拷贝文件夹的方式。最终目标是通过形成shell脚本,直接可以全部执行python的安装,虚拟环境安装。
1、LINUX环境说明
Red Hat Enterprise Linux 7.9 下载后(见参考1),vmware安装虚拟机
[root@localhost /]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
[root@localhost /]# cat /proc/version
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@x86-vm-26.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 18 14:50:17 EDT 2020
2、python安装
1.1 版本:Python-3.9.6.tgz
前置条件:需要安装好yum软件和yum包 1、redhat下载,安装好虚拟环境 2、https://www.cnblogs.com/Rcsec/p/10246995.html Redhat7配置yum源(本地源和网络源)
python下载路径:https://www.python.org/ftp/python/3.9.6/
step1:安装python
1、yum包安装依赖
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
# 遇到报错ssl module没有的问题
# 参考 https://zhuanlan.zhihu.com/p/336907257 解决 python3 “No module named '_ssl'”
yum install -y openssl libssl-dev
2、python包安装(根据项目建目录/opt/findig/PYTHON)
# 选用包Python-3.9.6.tgz,进入/opt/findig/PYTHON目录
# 解压python包至目标目录
tar -zxvf Python-3.9.6.tgz -C /opt/findig/PYTHON
cd Python-3.9.6
# 指定python安装路径 /usr/local/python3.9
/opt/findig/PYTHON/Python-3.9.6/configure --prefix=/usr/local/python3.9 --with-ssl
# --with-ssl是为了解决ssl module不存在的问题
# --prefix=/usr/local/python3.9 是指定python安装目录,其中/usr/local/python3.9是指定路径,可以替换为自己想在的目录,之所以这样处理是因为软件就会安装在单一目录下,跨服务器搬运软件即可,具体可参见网址https://blog.csdn.net/qq_27825451/article/details/100034135 linux下安装python3完整教程(依赖环境gcc,make,cmake,configure等详细解释)
make
make install
ln -s /usr/local/python3.9/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3.9/bin/pip3.9 /usr/bin/pip3
python3 -V # 验证python安装版本 Python 3.9.6,安装成功
3、虚拟环境安装及python基础必要包的安装
pip3 install pandas
pip3 install virtualenv
ln -s /usr/local/python3.9/bin/virtualenv /usr/bin/virtualenv
# 用virtualenv命令创建虚拟环境,在自己选择的文件夹下(/opt/findig/PYTHON)创建虚拟环境,虚拟环境名字可自定义,如venv1
virtualenv /opt/findig/PYTHON/venv1
# 使虚拟环境生效(激活虚拟环境)
source /opt/findig/PYTHON/venv1/bin/activate
# 激活虚拟环境后,可在该环境下pip3 install安装python包,/opt/findig/PYTHON/venv1/lib/python3.9/site-packages,该文件夹移动即相当于离线安装包。