CentOS离线安装Python及第三方库

CentOS是linux的一个版本,和Ubuntu等一样,都是基于Linux内核的不同发行版本。CentOS据说是Red Hat Enterprise Linux (RHEL) 的克隆版本,旨在提供一个免费的企业级计算平台。CentOS 7已经进入了其支持周期的尾声,并且计划在2024年6月30日停止官方技术支持。这意味着红帽公司将在该日期之后不再为CentOS 7提供任何更新(包括安全更新和bug修复)。但是由于历史惯性原因,CentOS目前仍然被广泛使用,尤其在服务器领域。但是关键应用还是建议迁移到其它linux发行版本。

我有一台内网CentOS服务器,不允许连接互联网,但是需要安装Python3(CentOS自带的是Python2)以及各种第三方库,例如:numpy,pandas,geopandas等等。应该如何安装呢?手动下载安装的话,由于其各种包之间存在着极其复杂的依赖关系,而导致手动安装特别复杂和繁琐。经过几次试错之后,我选择使用anaconda 来解决这个问题。

Anaconda 是一个开源的 Python 发行版本,特别为数据科学、机器学习和大型数据分析任务而设计。它不仅仅包括了Python解释器,更重要的是它提供了一套便捷的包管理和环境管理工具------Conda,使得用户能够轻松安装、管理和切换不同的Python版本以及各种科学计算、数据分析相关的软件包。

Anaconda集成了大量的科学计算库,如NumPy、Pandas、SciPy等,同时也包含了数据可视化库(例如Matplotlib、Seaborn)、机器学习库(如Scikit-learn)以及其他常用的开发工具,比如Jupyter Notebook(交互式编程和文档环境)和Spyder(集成开发环境IDE)等。

通过使用Anaconda,开发者可以方便地在不同的项目间创建独立的虚拟环境,保证不同项目之间的依赖不产生冲突,并且能够在多种操作系统(Windows、macOS、Linux)上实现快速部署和配置。

具体的思路是在本地可以联网的centos7上利用anaconda创建虚拟环境,联网安装好各种需要的python包。然后把整个虚拟环境打包上传到那台不可以连接互联网的CentOS上。

首先需要在本地安装一个可以联网的CentOS7虚拟机,然后在本地CentOS7虚拟机上进行如下操作:

1、在官网下载安装anaconda3并且安装:

bash Anaconda3-2023.09-0-Linux-x86_64.sh

此处不详细描述,可查找相关安装教程,建议安装到/opt/anaconda3目录下。

2、创建虚拟环境myenv:

bash 复制代码
/opt/anaconda3/bin/conda create --name myenv

3、激活虚拟环境:

bash 复制代码
cd /opt/anaconda3/binsource activate myenv

4、安装第三方库:

less 复制代码
conda install numpyconda install pandasconda install geopandasconda install shapelypip install transbigdata -i https://pypi.tuna.tsinghua.edu.cn/simpleconda install PyMySQLpip install mysql-connector -i https://pypi.tuna.tsinghua.edu.cn/simplepip install schedule -i https://pypituna.tsinghua.edu.cn/simpleconda install TensorFlowconda install kerasconda install statsmodelsconda install beautifulsoupconda install sqlalchemyconda install seleniumconda install scrapy

这里根据自己的需要安装,其中transbigdata等用conda无法安装,转而采用pip install安装,由于墙的问题,需要采用国内镜像源,我使用的清华大学镜像源。

5、退出虚拟环境

bash 复制代码
source deactivate myenv

6、将虚拟环境目录压缩打包

bash 复制代码
cd /opt/anaconda3/envstar -zcvf myenv.tar.gz myenv

7、将得到的压缩包myenv.tar.gz下载下来并上传到内网那台不可联网的 centos上。

在内网CentOS7服务器上进行如下操作:

1、离线安装anaconda3,首先从官网下载,然后上传到服务器,运行命令安装:

bash Anaconda3-2023.09-0-Linux-x86_64.sh

安装过程和上面本地虚拟机上是一样的,不再赘述。

2、创建同样的名称的虚拟环境myenv

css 复制代码
conda create --name myenv  --offline

注意,此处需要加参数--offline,采用离线方式,否则会创建失败。

3、删除myenv虚拟环境文件夹

bash 复制代码
rm -rf /opt/anaconda3/envs/myenv

4、解压缩刚才上传的myenv.tar.gz到文件夹/opt/anaconda3/envs/myenv

bash 复制代码
tar zxvf myenv.tar.gz -C /opt/anaconda3/envs

5、激活虚拟环境

bash 复制代码
source activate myenv

5、验证:

erlang 复制代码
pythonimport pandas...

经过验证,虚拟环境迁移到了内网不能连接互联网的CentOS服务器上了。

相关推荐
man20171 小时前
【2024最新】基于springboot+vue的闲一品交易平台lw+ppt
vue.js·spring boot·后端
hlsd#1 小时前
关于 SpringBoot 时间处理的总结
java·spring boot·后端
路在脚下@1 小时前
Spring Boot 的核心原理和工作机制
java·spring boot·后端
幸运小圣1 小时前
Vue3 -- 项目配置之stylelint【企业级项目配置保姆级教程3】
开发语言·后端·rust
前端SkyRain2 小时前
后端Node学习项目-用户管理-增删改查
后端·学习·node.js
提笔惊蚂蚁2 小时前
结构化(经典)软件开发方法: 需求分析阶段+设计阶段
后端·学习·需求分析
老猿讲编程3 小时前
Rust编写的贪吃蛇小游戏源代码解读
开发语言·后端·rust
黄小耶@3 小时前
python如何使用Rabbitmq
分布式·后端·python·rabbitmq
宅小海4 小时前
Scala-List列表
开发语言·后端·scala
蔚一5 小时前
Javaweb—Ajax与jQuery请求
前端·javascript·后端·ajax·jquery