在Centos6.10安装python3后安装第三方包遇到的问题

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

最近在Centos系统上需要安装一个python3版本,查看了下centos版本;使用以下命令查询版本

cat /etc/redhat-release

发现版本比较低,是6.10的 在这里插入图片描述

查看python版本

使用命令

python -V 或直接输入 python 回车

在这里插入图片描述 不出意料,目前的版本是Python2.6.6; 使用命令

whereis python

查看下pythonw安装位置,发现其中python还有个别名是python2

需要升级一下了 目前python最新稳定版本是3.10,所有还是安装一个python3版本,并且保留python2版本

安装python3.10

  1. 安装依赖包: 输入以下命令,安装编码所需依赖

    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

  2. 下载python3.10.5版本

    wget www.python.org/ftp/python/…

  3. 解压编译 执行以下命令解压xz文件

    xz -d Python-3.10.5.tar.xz

    执行以下命令解压tar文件

    tar -xf Python-3.10.5.tar

    依次执行以下命令:

    cd Python-3.10.5
    ./configure prefix=/usr/local/python3 make && make install

安装完成,配置软链

ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

验证是否安装成功;输入

python3 -V

在这里插入图片描述

安装第三方包moviepy

使用pip3安装moviepy,执行命令:

pip3 install moviepy

提示以下错误信息: 在这里插入图片描述

Could not fetch URL pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

根据提示信息,猜测可能是openssl的问题,输入命令查看版本;

openssl version

在这里插入图片描述 发现版本是1.0;

  • 出现问题的主要原因是: 在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl。

  • 解决方式: 编译安装openssl官网1.0.2或者1.1之后的openssl包既可;

安装openssl1.1.1

下载1.1.1h

wget www.openssl.org/source/open… --no-check-certificate

解压:

tar zxvf openssl-1.1.1h.tar.gz

编译安装:

cd openssl-1.1.1h ./config --prefix=/usr/local/ssl1.1.1 --openssldir=/usr/local/ssl1.1.1 make && make install

设置环境变量

export LD_LIBRARY_PATH=/usr/local/ssl1.1.1/lib:$LD_LIBRARY_PATH

重新编译python3:

./configure --with-openssl=/usr/local/ssl1.1.1 --prefix=/usr/local/python3 make && make install

猜你喜欢

转载自juejin.im/post/7128540901390942222