当前位置: 首页 > news >正文

linux 安装python django pip 遇到的问题

Python解决SSL不可用问题

解决方案:

首先要明白python版本需要和openssl的版本需要相对匹配的,在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl,linux自带的openssl版本过低

1、查看liunx系统的openssl版本信息:
openssl version

如图所示:小编的买的liunx服务器自带的openssl版本为1.1.1a ,然而对于小编来说,要安装python3.10的版本来说,openssl的版本太低了,因此需要更新openssl的版本才能满足要求;

2、更新openssl版本:
(1)安装相关依赖

yum install gcc libffi-devel zlib* openssl-devel  perl* -y

2)官网下载openssl版本

wget https://www.openssl.org/source/openssl-3.0.1.tar.gz
(3)解压openssl
tar -zxvf openssl-3.0.1.tar.gz
(4)编译openssl
  1. cd openssl- 1.1.1-pre8
  2. . /config --prefix=/usr/local/openssl no-zlib #不需要zlib
  3. make
  4. make install
    3.备份原配置
  1. [root@s 2-hadoop-test ~]# mv /usr/bin/openssl /usr/bin/openssl.bak
  2. [root@s 2-hadoop-test ~]# mv /usr/include/openssl/ /usr/include/openssl.bak
4.新版配置
  1. #将安装好的openssl 的openssl命令软连到 /usr/bin/openssl
  2. [root@s 2-hadoop-test ~]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
  3. #软链到升级后的libssl.so
  4. [root@s 2-hadoop-test ~]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
  5. #将安装好的openssl命令软连到 /usr/bin/openssl
  6. ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
5.修改系统配置
  1. #写入openssl库文件的搜索路径
  2. echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
  3. #使修改后的/etc/ld.so.conf生效
  4. ldconfig 
  5. 如果报错openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
  • 编辑 /etc/ld.so.conf 文件并添加共享库文件所在的目录。例如,在文件中添加一行:

    /path/to/openssl/lib(有可能lib64)
  • 运行以下命令使更改生效:

    ldconfig
  • 编辑 /etc/ld.so.conf 文件并添加共享库文件所在的目录。例如,在文件中添加一行:

    /path/to/openssl/lib
  • 运行以下命令使更改生效:

    sudo ldconfig
openssl version   查看版本完成   

重点执行这个  可以一步安装python和ssl使用

再升级python2---到python3

1.检查确认系统的相关信息

[root@zstest1 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@zstest1 ~]# uname -a
Linux zstest1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@zstest1 ~]# python -V
Python 2.6.6
我的进行软件升级系统是CentOS6.5-x86_64的,内核2.6.32,当前的python版本号为2.6.6

yum install make gcc gcc-c++ zlib* -y

yum install gcc libffi-devel zlib* openssl-devel  perl* -y

2.下载安装Python-3.6.2

1) 下载Python-3.6.2.tgz软件包

[root@zstest1 ~]# mkdir -p /server/tools/
[root@zstest1 tools]# cd /server/tools/
[root@zstest1 tools]# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
2) 解压编译安装

[root@zstest1 tools]# tar -xf Python-3.6.2.tgz
[root@zstest1 tools]# cd Python-3.6.2
[root@zstest1 Python-3.6.2]# 

./configure --prefix=/usr/local/python37   (指定openssl路径)
make
make install


[root@zstest1 Python-3.6.2]# make
[root@zstest1 Python-3.6.2]# make install
# 如果编译出错,需要检查make,gcc等是否安装好

3) 安装完成,需要更改默认的python版本

# 检查当前默认的python2,默认自带的python位置在”/usr/bin/“目录下

[root@zstest1 Python-3.6.2]# ll /usr/bin/python*
-rwxr-xr-x 2 root root 9032 11月 22 2013 /usr/bin/python
lrwxrwxrwx. 1 root root 6 3月 20 2016 /usr/bin/python2 -> python
-rwxr-xr-x 2 root root 9032 11月 22 2013 /usr/bin/python2.6
# 检查新安装的python3,默认编译安装的python位置在”/usr/local/bin/“目录下

复制代码
复制代码
[root@zstest1 Python-3.6.2]# ll /usr/local/bin/python*
lrwxrwxrwx 1 root root 9 10月 31 16:48 /usr/local/bin/python3 -> python3.6
-rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.6
lrwxrwxrwx 1 root root 17 10月 31 16:48 /usr/local/bin/python3.6-config -> python3.6m-config
-rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.6m
-rwxr-xr-x 1 root root 3066 10月 31 16:48 /usr/local/bin/python3.6m-config
lrwxrwxrwx 1 root root 16 10月 31 16:48 /usr/local/bin/python3-config -> python3.6-config
复制代码
# 修改默认的python

# 删除旧的python的软连接,创建新的python2和python3的软连接

[root@zstest1 Python-3.6.2]# cd /usr/bin/
[root@zstest1 bin]# rm -f python2
[root@zstest1 bin]# mv python python2.6.ori
[root@zstest1 bin]# ln -s python2.6 python2
[root@zstest1 bin]# ln -s /usr/local/bin/python3 /usr/bin/python
4) 检查修改后的python版本

[root@zstest1 bin]# python -V
Python 3.6.2
[root@zstest1 bin]# python2 -V
Python 2.6.6
[root@zstest1 bin]# python3 -V
Python 3.6.2

pip使用也需要别名  软连接

ln -s /home/lq/mytools/python3.6.9/bin/pip3 /usr/bin/pip3

安装python的路径  

pip3 -V

可根据提示升级pip 

pip3 install --upgrade pip


# 可以看到,默认打开的python版本已经是3.6.2,至此python的版本已经升级成功

3.后续的软件问题处理

# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置

[root@zstest1 bin]# vim /usr/bin/yum
# 需要检查确认以下配置

#!/usr/bin/python2
# 这样,修改后的yum依然可以调用python2.6.6的python,在使用yum安装软件时就不会报错了

# 以上是在CentOS6.5系统上进行的python版本升级,CentOS7.2上面的默认python版本为2.7.5,可以使用相同的方法进行修改,不过CentOS7.2的python链接稍有不同,需要注意

[root@centos72 ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 10月 26 2016 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 10月 26 2016 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 11月 20 2015 /usr/bin/python2.7
# 另外就是,CentOS7.2还有另外一个文件需要修改

[root@centos72 ~]# vim /usr/libexec/urlgrabber-ext-down
# 检查确认以下配置:

#!/usr/bin/python2

 

相关文章:

linux 安装python django pip 遇到的问题

Python解决SSL不可用问题 解决方案: 首先要明白python版本需要和openssl的版本需要相对匹配的,在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl,linux…...

【问题解决】【爬虫】抓包工具charles与pycharm发送https请求冲突问题

问题: 开启charles抓包,运行pycharm发送https请求报以下错误 解决: 修改python代码,发送请求时添加verify false,此时charles也能抓取到pycharm发送的请求 2. 关闭charles抓包,取消勾选window proxy...

Hadoop3教程(二):HDFS的定义及概述

文章目录 (40)HDFS产生的背景和定义(41)HDFS的优缺点(42)HDFS组成架构(43)HDFS文件块大小(面试重点)参考文献 (40)HDFS产生的背景和定…...

【物联网+JAVA 】智慧工地源码

一、什么是智慧工地? 工地本身不拥有智慧,工地的运作是依赖于人的智慧。工地信息化技术,能够减少对人的依赖,使工地拥有智慧。 智慧工地,就是立足于“智慧城市”和“互联网”,采用云计算、大数据和物联网…...

001数据安全传输-多端协议传输平台:Openssl安装和配置 - EVP代码测试

001数据安全传输-多端协议传输平台:Openssl安装和配置 - EVP代码测试 文章目录 001数据安全传输-多端协议传输平台:Openssl安装和配置 - EVP代码测试1. 安装1.1 windows下安装openssl1.2 Linux下安装OpenSSL 2. VS中使用openssl3. 测试 1. 安装 1.1 win…...

关于小编入坑第512天

​机缘 最初成为创作者的初心:总结记录整个学习前端的历程 日常学习过程中的记录: 先思考,整个程序逻辑流程是否出现问题 再文档,根据相关文档了解源头,学会看懂文档,是一个锻炼自学前端能力的关键一步 …...

VS2015编译Qt工程发生MSB4018错误完整解决过程

一、错误产生环境 操作系统:Windows10 开发工具:VS2015企业版 Qt版本:Qt5.7.1 64位 二、错误内容 MSB4018 “VCMessage”任务意外失败。 System.FormatException: 索引(从零开始)必须大于或等于零,且小于参数列表的大小。 …...

如何使用JMeter测试导入接口/导出接口

今天一上班,被开发问了一个问题:JMeter调试接口,文件导入接口怎么老是不通?还有导出文件接口,不知道文件导到哪里去了? 我一听,这不是JMeter做接口测试经常遇到的嘛,但是一时半会又…...

[入门一]C# webApi创建、与发布、部署、api调用

一.创建web api项目 1.1、项目创建 MVC架构的话,它会有view-model-control三层,在web api中它的前端和后端是分离的,所以只在项目中存在model-control两层 1.2、修改路由 打开App_Start文件夹下,WebApiConfig.cs ,修改路由&…...

关于Vue+webpack使用unocss编写CSS,打包后CSS没加前缀

关于Vuewebpack使用unocss编写CSS,打包后CSS没加前缀,封装了一个插件去解决了这个问题 unocss-postcss-webpack-plugin unocss在vite中使用配置,关于unocss在vite中使用,自行查阅官网 https://unocss.dev/integrations/vite ,vi…...

软件工程与计算总结(十一)人机交互设计

目录 ​编辑 一.引例 二.目标 三.人类因素 1.精神模型 2.差异性 四.计算机因素 1.可视化设计 2.常见界面类型 五.人机交互设计的交互性 1.导航 2.反馈 3.设计原则 六.设计过程 1.基本过程 2.界面原型化 一.引例 无论软件功能多么出色,亦或内部的构造…...

Jmeter组件执行顺序与作用域

一、Jmeter重要组件: 1)配置元件---Config Element: 用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域的…...

第一天商城项目

复盘 1.maven高级部分聚合和继承 maven聚合工程(深度剖析)_一宿君的博客-CSDN博客 2.yml配置文件 mybatis mybatis: mapper-locations: classpath:mappers/*mapper.xml mapper-locations:这是一个子键,用于指定MyBatis映射文件(Mapper XML…...

C++笔记之通用多态函数包装器std::function

C笔记之通用多态函数包装器std::function code review! 文章目录 C笔记之通用多态函数包装器std::function1.存储自由函数,lambda,std::bind 调用的结果2.存储到成员的调用3.存储到函数对象四.基本语法五.使用std::function定义函数对象六.使用std::fu…...

Linux命令(92)之passwd

linux命令之passwd 1.passwd介绍 linux命令passwd是用来设置/更改用户密码 2.passwd用法 passwd [参数] username passwd常用参数 参数说明--stdin非交互式密码设置-l停止用户使用-u启用停止的用户-d删除密码 [rootcentos79-3 ~]# passwd ztj Changing password for user …...

光电柴微电网日前调度报告

摘要 微电网是目前国内外应用较为广泛的一种绿色可再生能源,近几年我国微电网产业的发展十分迅速。然后,越来越多的微电网系统建立并网,微电网产生的电能受外界因素影响较大,具有一定的随机性和波动性,给并网后的电力系…...

Godot 单元测试

前言 单元测试是我们常用的功能,Godot作为一个游戏,单元测试和热重载是我们常用的功能。这里我们讲解最简单的单元测试的情况。 Godot 配置 我们添加一个最简单的节点,挂载一个最简单的脚本。 添加测试方法(只能是静态方法&…...

2.9 深入GPU硬件架构及运行机制

五、GPU技术要点 1.SMID和SIMT SIMD(Single Instruction Multiple Data)是单指令多数据,在GPU的ALU(在Core内)单元内,一条指令可以处理多维向量(一般是4D)的数据。比如&#xff0c…...

【苍穹外卖 | 项目日记】第四天

前言: 今天状态还可以,既有自己实战独立写接口,又听了课,学习了新的知识 目录 前言: 今日完结任务: 今日收获: 实现店铺状态接口 杂项知识点: 总结: 今日完结任务…...

零代码编程:用ChatGPT批量采集bookroo网页上的英文书目列表

bookroo网页上有很多不错的英文图书书目。比如这个关于儿童花样滑冰的书单: https://bookroo.com/explore/books/topics/ice-skating 怎么批量下载下来呢? 这个网页是动态网页,要爬取下来比较麻烦,可以先查看源代码,…...

5分钟上手MouseClick:让重复点击自动化的3个核心技巧

5分钟上手MouseClick:让重复点击自动化的3个核心技巧 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观 ,操…...

TranslucentTB 架构深度解析:Windows 任务栏透明化技术实现与工程化实践

TranslucentTB 架构深度解析:Windows 任务栏透明化技术实现与工程化实践 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Tran…...

5分钟快速掌握Bypass Paywalls Clean:终极内容解锁工具完整指南

5分钟快速掌握Bypass Paywalls Clean:终极内容解锁工具完整指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 你是否经常遇到想阅读优质文章却被付费墙阻挡的烦恼&#…...

璀璨星河效果展示:古典结构×现代张力的Z-Image原生艺术生成

璀璨星河效果展示:古典结构现代张力的Z-Image原生艺术生成 “我梦见了画,然后画下了梦。” —— 文森特 梵高 今天,我想带你走进一个特别的数字艺术馆。在这里,冰冷的代码逻辑与炽热的艺术灵魂相遇,古典的审美结构与现…...

Docker---容器编排工具Docker Compose

Docker Compose核心功能使用YAML文件定义多容器应用一键启动/停止/重建整个应用栈管理服务依赖关系与网络配置环境变量集中管理,适配多环境部署核心概念层级Service(服务):一个应用组件,可包含多个相同镜像的容器实例P…...

Phi-4-mini-reasoning企业知识库接入:PDF解析+向量化+推理问答闭环

Phi-4-mini-reasoning企业知识库接入:PDF解析向量化推理问答闭环 1. 模型简介与部署验证 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族成员,它特别强化了数学推…...

千问3.5-9B模型切换指南:OpenClaw多模型动态调用

千问3.5-9B模型切换指南:OpenClaw多模型动态调用 1. 为什么需要多模型动态调用 上周我尝试用OpenClaw自动整理电脑里积压的300多份PDF文档时,遇到了一个有趣的现象:处理简单文件重命名任务时,轻量级模型响应飞快;但遇…...

OneDrive导致桌面图标变白的解决方案

OneDrive导致桌面图标变白的原因主要是由于OneDrive的同步功能或图标缓存损坏。当使用OneDrive的“释放空间”功能时,可能会导致图标变为空白页或默认图标。此外,图标缓存损坏也可能导致图标变白。解决方法:1. 调整OneDrive设置:在…...

极验点选验证码识别避坑指南:如何应对验证码图片更新带来的挑战

极验点选验证码动态对抗实战:从数据迭代到模型优化的全链路解决方案 当你的验证码识别模型突然失效时,第一反应是什么?上个月刚跑通的极验点选验证码识别系统,在验证码图片更新后准确率从92%暴跌至17%,这是我们团队最近…...

OpenClaw性能优化:千问3.5-9B模型加速30%的秘诀

OpenClaw性能优化:千问3.5-9B模型加速30%的秘诀 1. 为什么需要优化OpenClaw性能 第一次用OpenClaw执行自动化任务时,我遇到了一个尴尬的问题——点击"整理桌面文件"指令后,系统整整思考了15秒才开始移动第一个文件。这种延迟在简…...