centos 7.9 安装python 3.10的tls问题,

本地开发升级成了py3.10.6,服务器测试时安装py3.10.4 发现无法正常使用pip3

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

印象中py3的高版本依赖高版本的openssl,centos 7下默认的openssl为1.0.x,

问题很简单,升级openssl,期间各种奇葩问题.包括但不限于修改setup配置等等

最后附上整理好的解决办法

# -*- encoding: utf-8 -*-
"""
@File    : script.py
@Time    : 2023/10/20 1:30
@Author  : Perry
@Email   : 344417817@qq.com
@Software: PyCharm
"""
import subprocessdef cmd_call(cmd):for i in cmd:print('*' * 10, i)subprocess.call(i, shell=True)def install_python310():cmd = [r'rm -rf Python-3.10.6.tgz',r'rm -rf Python-3.10.6',r'wget  https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz',r'tar -zxvf Python-3.10.6.tgz',r'cd Python-3.10.6 && ./configure --prefix=/usr/local/python3 -with-openssl=/usr/local/openssl && make && make install',r'rm -rf /usr/bin/python3 && rm -rf /usr/bin/pip3',r'cd /usr/bin/ && ln -s /usr/local/python3/bin/python3 python3 && ln -s /usr/local/python3/bin/pip3 pip3',]cmd_call(cmd)def install_openssl():cmd = [r'wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1q.tar.gz',r'tar -zxvf openssl-OpenSSL_1_1_1q',r'cd openssl-OpenSSL_1_1_1q',r'./config --prefix=/usr/local/openssl shared zlib ',r'make  && make install ',r'rm -rf /usr/bin/openssl',r'rm -rf /usr/include/openssl',r'rm -rf /usr/lib64/libssl.so',r'rm -rf /usr/lib64/libcrypto.so',r'ln -s /usr/local/openssl/include/openssl /usr/include/openssl',r'ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl',r'ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so',r'ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so',r'ldconfig']cmd_call(cmd)def update():'''有重复命令:return: '''cmd = [r'cd /root',r'yum -y upgrade ',r'yum -y install wget',r'yum -y install gcc gcc-c++',r'yum -y install perl zlib-devel bzip2 bzip2-devel openssl-devel ncurses-devel readline-devel tk-devel gdbm-devel 'r'db4-devel libpcap-devel xz-devel',r"yum install -y libcurl-devel wget tar gcc make zip unzip openssl openssl-devel gcc libxml2 libxml2-devel libxslt* zlib zlib-devel libjpeg-devel libpng-devel libwebp libwebp-devel freetype freetype-devel lsof pcre pcre-devel vixie-cron crontabs icu libicu-devel c-ares libffi-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel",r"yum install -y wget curl libcurl4-openssl-dev gcc make zip unzip tar openssl libssl-dev gcc libxml2 libxml2-dev zlib1g zlib1g-dev libjpeg-dev libpng-dev lsof libpcre3 libpcre3-dev cron net-tools swig build-essential libffi-dev libbz2-dev libncurses-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libdb++-dev libpcap-dev xz-utils git",r'yum install -y libXext libSM libXrender ',]cmd_call(cmd)def main():update()install_openssl()install_python310()
if __name__ == '__main__':main()

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

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

相关文章

异步加载JS的方法

异步加载 JavaScript (JS) 文件是提高网页性能的一种常用技术&#xff0c;这样可以使页面在等待 JS 文件加载和执行时不会阻塞。以下是一些异步加载 JS 的方法&#xff1a; 使用 <script> 标签的 async 属性 通过将 <script> 标签的 async 属性设为 true&#xf…

Java后端开发(六)-- 二维码的生成

目录 1. 需要的jar导入 2. ConvertToMultipartFile类 3. QRCodeUtil(二维码工具类) 4.示例演示: 1. 需要的jar导入 <!-- 生成二维码 --><dep

Linux Docker图形化工具Portainer如何进行远程访问

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 Portainer 是一个轻量级的容器管理工具&#xff0c;可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可…

1814_ChibiOS中的时间以及时间间隔处理

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 时间的相关配置&#xff0c;有tick的计数精度、时钟频率、间隔时间精度、时间类型大小等不同的配置。这些参数&#xff0c;涉及到系统的时间计数…

日志回滚工作原理剖析及在文件系统的作用

日志回滚原理 当涉及到崩溃恢复和一致性保护时&#xff0c;日志回滚是一种常见的机制。它通过记录写入操作到一个事务日志中&#xff0c;而不是直接应用到文件系统&#xff0c;以保护文件系统的一致性。下面是日志回滚的一般工作原理&#xff1a; 日志记录&#xff1a;在进行写…

FPGA驱动SDRAM

文章目录 一.SDRAM简介&#xff08;手册分析&#xff09;1.1存储空间1.2特征1.3引脚1.4内部结构1.5需要关注的一些时间1.6模式寄存器1.7命令真值表 二.时序分析&#xff08;手册分析&#xff09;2.1Avalon时序2.2行激活时序2.3列读写时序2.4读数据2.5写数据 三.初步设计3.1状态…

vue3插件开发,上传npm

创建插件 在vue3工程下&#xff0c;创建组件vue页: toolset.vue。并设置组件名称。注册全局组件。新建index.js文件。内容如下&#xff0c;可在main.js中引入index.js&#xff0c;注册该组件进行测试。![在这里插入图片描述](https://img-blog.csdnimg.cn/a3409d2cbeec41c797d5…

springboot整合tkmybatis和tkmybatis 逆向工程

1.添加依赖 <!--mybaits--> <dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.0.3</version> </dependency> 打入mybatis.xml <resources><resourc…

零基础学习HTML5

1. 使用软件 vscode 谷歌浏览器 vscode下载地址&#xff1a;https://code.visualstudio.com/ 谷歌可以使用360软件管家安装 2. 安装插件 在vscode中安装插件&#xff1a;open in browser&#xff0c;点击Extensions后搜索对应插件名然后点击安装Install 安装完成后可在htm…

linux 下的java gate服务断掉的原因及解决思路

一.查询断掉的原因 1.查看gate日志&#xff0c;发现没有报错信息&#xff0c;突然就断了 2.查看是不是OOM导致 dmesg | grep java 发现确实Out of Memory了 3.发生问题的原因&#xff1a; 默认情况下, Linux kernels(内核)允许进程申请的量超过系统可用内存. 这是因为,在大多数…

org.apache.sshd的SshClient客户端 连接服务器执行命令 示例

引入依赖 <dependency><groupId>org.apache.sshd</groupId><artifactId>sshd-core</artifactId><version>2.9.1</version></dependency>示例代码&#xff0c;可以直接执行&#xff0c;也可以做替换命令、维护session等修改 p…

计算机操作系统-第十一天

目录 1、进程的状态 创建态与就绪态 运行态 终止态 新建态 结束态 进程状态的转换 进程的组织方式 链接方式&#xff08;常见&#xff09; 索引方式&#xff08;少见&#xff09; 本节思维导图 1、进程的状态 创建态与就绪态 1、进程正在被创建时&#xff0c;处于…

零基础搭建个人网站详细流程

最近两天&#xff0c;为了给自己的工具类APP备案&#xff0c;买了阿里云ECS和域名。虽然很想说离线工具APP不用联网&#xff0c;但是现实就很无语。言归正传&#xff0c;既然买了总不能将它们闲置着&#xff0c;就诞生了建站的想法&#xff0c;至少还能放个用户协议和隐私协议。…

01-初识HTML和CSS

1.HTML与CSS 1.1.什么是HTML&#xff1f;什么是CSS&#xff1f; HTML是HyperText Markup Language(超文本标记语言) ​ 它不是一种编程语言&#xff0c;而是一种标记语言&#xff0c;用于告诉浏览器如何构造你的页面。它可以由一系列HTML元素组合成web开发人员想要的简单或者…

nodejs+vue云旅青城系统-旅游网站

用户可以实现首页、个人中心、订票信息管理、路线制定管理等。不仅使服务管理难度变低了&#xff0c;还提升了管理的灵活性。目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 …

互联网Java工程师面试题·Java 总结篇·第九弹

目录 75、阐述 JDBC 操作数据库的步骤。 76、Statement 和 PreparedStatement 有什么区别&#xff1f;哪个性 能更好&#xff1f; 77、使用 JDBC 操作数据库时&#xff0c;如何提升读取数据的性能&#xff1f;如何提升更新数据的性能&#xff1f; 78、在进行数据库编程时&a…

Code Review 文化人语录

前言 这些缩写在代码审查过程中可以帮助快速传达意见和反馈&#xff0c;提高沟通效率。然而&#xff0c;对于新手或不熟悉这些缩写的人来说&#xff0c;它们可能会引起困惑。因此&#xff0c;了解这些常见的缩写及其含义对于参与代码审查是非常有帮助的。 缩写 WIP&#xff…

定制效果在线定制印刷系统源码 DIY在线定制系统源码 云印刷定制系统源码手机、PC端实时互通

支持各类产品的在线定制&#xff0c;无论是水杯雨伞U盘还是T恤衬衫四件套&#xff0c;均可轻松进行定制 独创制作间概念&#xff0c;同一套模板可以重复对应不同制作间 手机、PC端实时互通&#xff0c;客户可通过任意途径进行图片上传、编辑&#xff0c;一方修改另一方即时可见…

三数之和

题目&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重…

开源游戏引擎和模拟器的项目合集 | 开源专题 No.38

yuzu-emu/yuzu Stars: 26.2k License: GPL-3.0 yuzu是一款全球最受欢迎的开源Nintendo Switch模拟器&#xff0c;由Citra创建者编写。它采用C语言编写&#xff0c;并具有可移植性&#xff0c;在Windows和Linux上进行积极维护。该模拟器能够全速运行大多数商业游戏&#xff0c…