centos7离线安装pthon3.8

news2024/11/17 19:40:14

centos7离线安装pthon3.8

因服务器无外网环境,所以事先需要把所有离线的依赖都准备好。

安装前的准备

先在有外网环境的机器上准备依赖

  1. 安装 centos-release-scl 第三方yum源
yum install centos-release-scl
  1. 安装 yum 依赖下载插件
yum install yum-plugin-downloadonly
  1. 下载 Python 及 Yum 依赖
# 下载 python 源码
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

# 下载依赖, python_dependencies 为保存的目标文件夹
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel --downloadonly --downloaddir=python_dependencies

  1. 下载并保存高版本GCC
yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils --downloadonly --downloaddir=redis_dependencies
  1. 下载 Python 模块依赖
# 导出使用的依赖
pip freeze > requirements.txt

# 建议在导出后,将 pip,wheel,setuptools 手动写入到 requirements 文件中。

# 下载, -d 为目标文件夹
pip download -d mylib -r requirements.txt

开始Python 离线安装

在离线服务器上操作:

  1. 离线安装 Yum 依赖(需 root)
rpm -Uvh --force --nodeps ./python_dependencies/*.rpm
rpm -Uvh --force --nodeps ./redis_dependencies/*.rpm
  1. 启用高版本 GCC(为了在编译时执行 --enable-optimizations, GCC 安装可参见 Gcc 安装)
scl enable devtoolset-9 bash
gcc -v

  1. 解压 Python 源码
tar -zxf Python-3.8.5.tgz -C /home/user/app/python3
  1. 配置 make 文件, 指定可执行文件目录:
cd /home/user/app/python3/Python-3.8.5
./configure prefix=/home/user/app/python3 --enable-optimizations
  1. 执行编译:
make
  1. 执行安装
make install
  1. 进入到 /home/user/app/python3/bin 目录下,执行 python3 看是否成功
./python3 --version
  1. 配置环境变量,source 后生效:
vim ~/.bash_profile
export PYTHON3_PATH=/home/user/app/python3
export PATH=$PYTHON3_PATH/bin:$PATH

source  ~/.bash_profile

在这里插入图片描述

导入离线依赖

pip3 install --no-index --find-links=./mylib -r requirements.txt	# 使用离线安装包,安装指定文件内的内容

常见问题

在使用pip时,如果遇到一下错误,请建立虚拟环境
在这里插入图片描述

cd /home/user/app/python3
#创建虚拟环境
python3 -m venv tutorial-env
#激活虚拟环境
source tutorial-env/bin/activate
#退出虚拟环境
deactivate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《C语言深度解剖》(16):C语言的文件读写操作

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏链接查看&…

STL-priority_queue的使用及其模拟实现

优先级队列(priority_queue)默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中的元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用priority_queue。 注意&#xff1…

代码助手之-百度Comate智能体验

简介 越来越多的厂商提供了智能代码助手,百度也不例外。Baidu Comate(智能代码助手)是基于文心大模型,Comate取自Coding Mate,寓意大家的AI编码伙伴。Comate融合了百度内部多年积累的编程现场大数据和外部开源代码和知…

革新风暴来袭:报事报修系统小程序如何重塑报事报修体验?

随着数字化、智能化的发展,已经应用在我们日常生活和工作的方方面面。那么,你还在为物业报修而头疼吗?想象一下,家里的水管突然爆裂,你急忙联系物业,时常面临物业电话忙音、接听后才进行登记繁琐的报修单、…

UC浏览器,居然这么牛?

你有一个10GB的文件,你想把它发送给你的好友,你会选择什么方式? A:某打败5G的网盘 B:聊天软件 C:文件传输助手 D:买一个U盘快递过去 E:钝角 我的答案是:文件传输助手&a…

图解Java数组的内存分布

我们知道,访问数组元素要通过数组索引,如: arr[0]如果直接访问数组,比如: int[] arr1 {1}; System.out.println(arr1);会发生什么呢? 打印的是一串奇怪的字符串:[I16b98e56。 这个字符串是J…

4-Django项目--资产管理

目录 项目结构 asset_data.html asset_data/add_modify.html views/asset_data.py ------资产管理-------- 资产信息展示 views/asset_data.py 添加资产信息 添加和编辑的html可参考学员信息添加修改html views/asset_data.py 修改信息资产 views/asset_data.py 项…

MySQL注入 — Dns 注入

DNS注入原理 通过子查询,将内容拼接到域名内,让load_file()去访问共享文件,访问的域名被记录此时变为显错注入,将盲注变显错注入,读取远程共享文件,通过拼接出函数做查询,拼接到域名中,访问时将访问服务器,…

聊聊最近很火的混合专家模型(MoE)

前段时间,在2024年NVIDIA GTC大会上,英伟达不小心透露了GPT-4采用了MoE架构,模型有1.8万亿参数,由8个220B模型组成,与此前的GPT-4泄露的信息一致。 近半年多以来,各类MoE大模型更是层出不穷。在海外&#…

【Tlias智能学习辅助系统】01 准备工作

Tlias智能学习辅助系统 01 创建员工、部门表创建springboot工程,引入对应的起步依赖(web、mybatis、mysql驱动、lombok)准备 Mapper、Service、Controller 等基础结构MapperServiceControllerpojo封装类application.properties 接口开发规范 创建员工、部门表 -- 创…

MyBatis的坑(动态SQL会把0和空串比较相等为true)

文章目录 前言一、场景如下二、原因分析1. 源码分析2. 写代码验证 三、解决办法代码及执行结果如下 总结 前言 在开发过程中遇到MyBatis的动态SQL的if条件不生效的情况,但经过debuger发现并不是参数问题,已经拿到了参数并传给了MyBatis,且从表…

第十九节:带你梳理Vue2: 父组件向子组件传参(props传参)

1. 组件嵌套 1.1 组件的嵌套使用 之前有说过,Vue组件跟Vue实例是一样的,因此在Vue中一个组件中也可以定义并使用自己的局部组件,这就是组件的嵌套使用 例如:示例代码如下: <div id"app"><!-- 3. 使用组件 --><my-component></my-component&…

inStrain:灵敏地检测共享微生物菌株

GitHub - MrOlm/inStrain: Bioinformatics program inStrain 安装 conda create -n instrain conda activate instrain pip install instrain inStrain -h 需要准备一个 scaffold-to-bin file &#xff08;.text 文件&#xff0c;包含由制表符分隔的两列&#xff0c;其中第一…

Kafka原生API使用Java代码-生产者-发送消息

文章目录 1、生产者发送消息1.1、使用EFAK创建主题my_topic31.2、根据kafka官网文档写代码1.3、pom.xml1.4、KafkaProducer1.java1.5、使用EFAK查看主题1.6、再次运行KafkaProducer1.java1.7、再次使用EFAK查看主题 1、生产者发送消息 1.1、使用EFAK创建主题my_topic3 1.2、根…

研学活动报名二维码怎么制作?

在组织研学活动时&#xff0c;老师们经常面临报名流程繁琐、信息收集不全面、统计工作耗时等问题&#xff1f;如何高效地管理学生的报名信息&#xff0c;确保活动顺利进行呢&#xff1f; 现在我们有了更多的选择。老师们可以快速制作出研学活动的研学活动报名二维码怎么制作&am…

DNF手游攻略:开荒必备攻略!

DNF手游马上就要开服了&#xff0c;今天给大家带来最完整的DNF手游入门教程。这篇攻略主要讲述了 DNF手游开服第一天要注意的事项&#xff0c;这是一个新手必备的技能书&#xff0c;可以让你在开服的时候&#xff0c;少走一些弯路&#xff0c;让你更快完成任务&#xff01;废话…

[MySQL最详细的知识点]

MySQL 关系型数据库以一行作为一个记录,列数据库以一列为一个记录一行是一个记录,一列是一个字段一行是一个实体,一列是一个属性 MySQL引擎: MySQL引擎&#xff1a;可以理解为&#xff0c;MySQL的“文件系统”&#xff0c;只不过功能更加强大。​MySQL引擎功能&#xff1a;除…

自动化测试-ddt数据驱动yaml文件实战(详细)

前言 ddt 驱动 yaml/yml 文件来实现数据驱动测试 ddt.file_data&#xff1a;装饰测试方法&#xff0c;参数是文件名。文件可以是 json 或者 yaml 类型。 注意&#xff1a;如果文件是以 “.yml”或者".yaml" 结尾&#xff0c;ddt 会作为 yaml 类型处理&#xff0c;…

【教学类-59-01】专注力视觉训练01(圆点百数图)

背景需求&#xff1a; 视觉训练的神奇效果&#xff0c;让你的宝贝成为焦点 - 小红书魔法视觉追踪-视觉训练—— &#x1f50d;视觉训练&#x1f50d; &#x1f539;想要提高宝宝的专注力&#xff0c;视觉训练是个绝佳方法&#xff01; &#x1f539;让宝宝仔细观察数字的路线&a…

JavaScript-内存分配,关键字const

内存空间 内存分为栈和堆 栈&#xff1a;由操作系统自动释放存放的变量值和函数值等。简单数据类型存放在栈中 栈会由低到高先入后出 堆&#xff1a;存储引用类型 &#xff08;数组&#xff0c;对象&#xff09; 对象会先将数据存放在堆里面&#xff0c;堆的地址放在栈里面 关键…