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

 

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

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

相关文章

centos7下安装elasticsearch7.8.1并配置远程连接

1、下载安装包 sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-x86_64.tar.gz 2、解压 sudo tar -zxvf elasticsearch-7.8.1-linux-x86_64.tar.gz 3、添加用户并设置密码 sudo useradd es sudo passwd es # 设置密码 Lida15…

Pycharm 2023 设置远程调试

pycharm 版本 : 2023.2.1 整体流程参考:https://blog.csdn.net/xuanhaolaile/article/details/128293254 首先确定远程服务器上已经安装好 requirements.txt 中所需的依赖包。 1、SSH Configurations 添加远程服务器 2、Python Interpreter 注意&…

Leetcode算法解析——查找总价格为目标值的两个商品

1. 题目链接:LCR 179. 查找总价格为目标值的两个商品 2. 题目描述: 商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况,返回任一结果即可。 示例 1: 输入:price …

Linux信号 signal()编程

在Linux的进程间通信中可以用signal()函数进行信号与信息传递。 1.信号 信号的名字和编号: 每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如“SIGIO ”、“SIGCHLD”等等。 信号定义在signal.h头文件中&am…

虚幻阴影整理

虚拟阴影贴图(VSM)是一种全新的阴影贴图方法,可以提供稳定的高分辨率阴影。通过与虚幻引擎5的Nanite虚拟几何体、Lumen全局光照和反射以及世界分区功能结合使用,它能够实现电影级的品质效果,为大型开放场景提供光照。 …

html和css基础练习

vscode快捷键 alt b 在浏览器中打开 alt shift b 在其他浏览器打开 ctrl / 注释 ctrl y 快捷键删除 参考文章 https://www.bilibili.com/video/BV1m84y1w7Tb 基础html标签 img:图像,title:头部文字,body:主…

使用匿名函数在Golang中的好处

发挥Golang中无名代码块的潜力 匿名函数,也被称为lambda函数或闭包,是Golang中的一个强大功能,提供了许多好处。这些无名代码块为开发人员在设计和构建其代码时提供了更大的灵活性和模块化。在本节中,我们将探讨使用匿名函数可以…

AI对网络安全的影响与挑战

近年来,随着人工智能(AI)技术的快速发展,网络安全领域也开始逐渐引入生成式AI应用。根据最新的数据研究,生成式AI对网络安全和合规的影响最大,同时也包括了IT和云的运维、硬件和软件支持领域。通过AI和自动…

基于Java的点歌管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【VTK】基础知识分析

很高兴在雪易的CSDN遇见你 ,给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享VTK基础操作技术,记录vtk编程中常用的接口,变量等的创建及使用方法希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞关注,小易…

华为云云耀云服务器L实例评测|华为云耀云服务器L实例私有库搭建verdaccio(八)

九、华为云耀云服务器L实例私有库搭建verdaccio: Verdaccio 是一个简单的、零配置本地私有 npm 软件包代理注册表。Verdaccio 开箱即用,拥有自己的小型数据库,能够代理其它注册表(例如 npmjs.org),缓存下载…

软件工程与计算总结(十)软件体系结构设计与构建

目录 ​编辑 一.体系结构设计过程 1.分析关键需求和项目约束 2.选择体系结构风格 3.体系结构逻辑设计 4.体系结构实现 5.完善体系结构设计 6.定义构件接口 二.体系结构原型构建 1.包的创建 2.重要文件的创建 3.定义构件之间的接口 4.关键需求的实现 三.体系结构的…

屏幕亮度调节保护您的眼睛

官方下载地址: 安果移动 视频演示:屏幕亮度调节-保护您的眼睛_哔哩哔哩_bilibili 嗨,亲爱的用户,你是否有过这样的体验:夜晚安静的时刻,想要在抖音上看看热门的舞蹈、在快手上发现生活的 趣味、或是在哔…

Godot2D角色导航-自动寻路教程(Godot实现角色随鼠标移动)

文章目录 运行结果2D导航概述开始前的准备2D导航创建导航网格创建角色 其他文章 运行结果 2D导航概述 Godot为2D和3D游戏提供了多个对象、类和服务器,以便于基于网格或基于网格的导航和路径查找。 说到导航,就得说一下导航网格,导航网格定义…

区块链跨链技术

区块链跨链技术 背景 近年来,随着区块链技术的不断发展,区块链的应用场景逐渐从最初的加密货币领域扩展到金融、物流、医疗、公共服务等各个领域。随着区块链的应用场景不断增多,区块链的“数据孤岛”问题日益突出,不同场景下的…

发现更多美景!XnViewMP for Mac/Windows 图片浏览软件

想要轻松快捷地浏览、管理和编辑您的照片吗?XnViewMP for Mac 是您的最佳选择!这款强大而多功能的图片浏览软件将给您带来全新的视觉体验。 借助 XnViewMP,您可以方便地浏览各种图片格式,包括JPEG、PNG、GIF等,并支持…

贴片电容材质的区别与电容的主要作用

一、贴片电容材质NPO、COG、X7R、X5R、Y5V、Z5U区别 主要是介质材料不同,不同介质种类由于它的主要极化类型不一样,其对电场变化的响应速度和极化率也不一样。在相同的体积下的容量就不同,随之带来的电容器介质的损耗、容量的稳定性也就不同…

Linux 文件系统逻辑结构图的解释

task_struct进程结构体,表示一个运行的进程。 task_struct中的fs指向fs_struct结构体。fs_struct表示这个进程支持的文件系统。 root指向根目录dentry,dentry中的d_inode指向改进程根目录在存储设备中的inode节点。 pwd指向当前进程所在的目录结构体den…

Pytorch从零开始实战05

Pytorch从零开始实战——运动鞋识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——运动鞋识别环境准备数据集模型选择数据可视化模型预测总结 环境准备 本文基于Jupyter notebook,使用Python3.8,Pytorch2.0.1cu118…

加持智慧医疗,美格智能5G数传+智能模组让就医触手可及

智慧医疗将云计算、物联网、大数据、AI等新兴技术融合赋能医疗健康领域,是提高医疗健康服务的资源利用效率,创造高质量健康医疗的新途径。《健康中国2030规划纲要》把医疗健康提升到了国家战略层面,之后《“十四五”全面医疗保障规划》等一系…