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服务器上了。

相关推荐
吃面不喝汤661 小时前
Flask + Swagger 完整指南:从安装到配置和注释
后端·python·flask
讓丄帝愛伱2 小时前
spring boot启动报错:so that it conforms to the canonical names requirements
java·spring boot·后端
weixin_586062022 小时前
Spring Boot 入门指南
java·spring boot·后端
凡人的AI工具箱8 小时前
AI教你学Python 第11天 : 局部变量与全局变量
开发语言·人工智能·后端·python
是店小二呀9 小时前
【C++】C++ STL探索:Priority Queue与仿函数的深入解析
开发语言·c++·后端
canonical_entropy9 小时前
金蝶云苍穹的Extension与Nop平台的Delta的区别
后端·低代码·架构
我叫啥都行9 小时前
计算机基础知识复习9.7
运维·服务器·网络·笔记·后端
无名指的等待71210 小时前
SpringBoot中使用ElasticSearch
java·spring boot·后端
.生产的驴11 小时前
SpringBoot 消息队列RabbitMQ 消费者确认机制 失败重试机制
java·spring boot·分布式·后端·rabbitmq·java-rabbitmq
AskHarries11 小时前
Spring Boot利用dag加速Spring beans初始化
java·spring boot·后端