首页 > 系统相关 >linux 安装python django pip 遇到的问题

linux 安装python django pip 遇到的问题

时间:2023-10-11 18:15:41浏览次数:48  
标签:bin zstest1 python openssl django usr linux root

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@s2-hadoop-test ~]# mv /usr/bin/openssl /usr/bin/openssl.bak
  2. [root@s2-hadoop-test ~]# mv /usr/include/openssl/ /usr/include/openssl.bak

4.新版配置

  1. #将安装好的openssl 的openssl命令软连到/usr/bin/openssl
  2. [root@s2-hadoop-test ~]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
  3. #软链到升级后的libssl.so
  4. [root@s2-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   查看版本完成   

再升级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

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 --with-openssl=/usr/local/openssl   (指定openssl路径)
make
make install


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

yum install make gcc gcc-c++ zlib* -y
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
# 可以看到,默认打开的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

 

标签:bin,zstest1,python,openssl,django,usr,linux,root
From: https://www.cnblogs.com/Su-per-man/p/17757849.html

相关文章

  • python_day5 对象
    对象设计类(class):classStudent:name=None创建对象stu_1=Student()对象属性赋值stu_1.name="周杰伦"类的定义和使用class类名称:class是关键字,表示要定义类了类的属性:定义在类中的变量类的行为:即定义在类中的函数创建类对象的语法:对象=类名......
  • Linux服务器异地备份数据库脚本
    使用Cron作业调度工具来创建一个定时任务,以在每日凌晨1点的时候运行备份脚本。以下是在CentOS7上设置定时备份任务的一般步骤:1.编写备份脚本:创建一个备份脚本,用于连接远程MySQL数据库并执行备份操作。你可以使用mysqldump命令来备份数据库。这是一个简单的示例脚本:#!......
  • Python搭建数据查询接口服务
    启动一个服务,使用FastAPI框架,增加跨域允许1#-*-coding:UTF-8-*-2"""3@author:cc4@file:service.py5@time:2021/05/246"""78importsqlite39fromfastapiimportFastAPI10importuvicorn11importos12fromfastapi.......
  • Linux批量替换文件内容
    示例方法:Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。用sed命令可以批量替换多个文件中的字符串。sed-i"s/原字符串/新字符串/g"`grep原字符串-rl所在目录`例如:我要把mahuinan替换为huinanma,执行命令:sed-i"s/mahui......
  • python chromedriver下载与安装方法
    当需要进行自动化测试或爬取网页数据时,Chrome浏览器的驱动程序(ChromeDriver)是一个关键组件。它允许控制和与Chrome浏览器进行交互。在本文中,将为介绍如何下载和安装ChromeDriver。什么是ChromeDriverChromeDriver是一个用于自动化控制和与GoogleChrome浏览器进行交互的驱动程序。......
  • python 获取word页数
    没想到获取个word页数这么简单的需求,实现起来还挺难。1.根据网上说法:word文档中不保存总页数,只是在渲染时才根据文字和表格等去摆放到一页上,摆放不下时才展现下一页。所以从docx中取不到总页数2.因此,仅用docx库不行,还需要用win32com。而win32com实际是:pipinstallpypiwin32 ......
  • Python selenium chrome版本查询和对应驱动下载
    elenium爬虫需要安装Chrome驱动chrome版本查询和对应驱动下载,超详细方法/步骤1查看谷歌的版本,第一步在地址栏输入图中网址第二步查看版本号2复制版本号,只需复制版本号最后一位小数点之前的数字。(例:版本号:111.0.5563.65,复制111.0.5563即可)将复制的版本号......
  • 终于实现python的词云啦~~~
    1、准备好一个txt文件(我是直接在python项目里面创建了一个txt文件)2、编写代码分词,并连接到Navicat的mysql数据库,将分词之后的数据导入进去:importjiebaimportnumpyasnpimportpymysqltxt=open("hlm.txt","r",encoding='utf-8').read()words=jieba.lcut(txt)#进行......
  • 【20230613】【Python基础教程】第一章 基础知识
    第一章基础知识I1.4数字与表达python3.x会进行一些浮点数的计算点击查看代码print(1/2)#浮点计算print(1//2)#整除实现结果只保留整数部分print(1%2)#取余保留余数print(2**3)#幂函数结果如下:点击查看代码0.50181.4.1长整型数python3.x......
  • Linux系统定时 重启 关机
    在Linux系统中,我们可以通过配置cron任务或者使用systemd服务来实现定时重启或者开关机的设置。1.使用cron任务实现定时重启或者开关机:Cron是一个在Linux系统中用于自动化任务的工具。可以使用它来创建定期运行的任务。要创建一个定时重启或者开关机任务,需要编辑root用户的crontab......