当前位置:首页>python>centos7安装特定版本的python

centos7安装特定版本的python

  • 2026-09-09 01:05:10
centos7安装特定版本的python

QUOTE

某个第三方库只支持某个特定版本的py,因此需要在同一个环境下安装不同版本的py

01

INSTALL

安装

1

当前环境:

- centos7 + python2.6   --->目标:安装py2.7.6

1

从官网下载Pyhon  <https://www.python.org/download/releases/2.7.6>

- 选择下载Gzipped source tar ball (2.7.6) (sig)

1

安装本地编译环境

...shell

yum groupinstall -y Development tools

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

1

解压并编译

...shell

tar -xvf Python-2.7.6.tgz

cd Python-2.7.6 ./configure --prefix=/usr/local/python2.7

make

make install

   安装完后的Python的可执行文件目录是 /usr/local/bin

   安装完后的python安装目录路径是 /usr/local/lib/python2.7

1

创建链接来使系统默认python变为python2.7

...shell

ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

1

查看当前的Python版本,确认已经是2.7.6

...shell

   python –V

1

修改yum配置(若yum无法正常运行)

...shell

   vi /usr/bin/yum

   将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.6

02

FIX

问题

1. 同样的操作,在安装 python3.7 时`No module named _ssl`

1

错误信息

...shell

   import _ssl       # if we can't import it, let the error propagate

   ImportError: No module named _ssl

原因:openssl版本最低为1.0.2,但是centos 默认的为1.0.1,所以需要重新更新openssl

1

升级openssl

...shell

   # 安装依赖库

   yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

   wget http://www.openssl.org/source/openssl-1.1.1.tar.gz

   tar -zxvf openssl-1.1.1.tar.gz

   cd openssl-1.1.1

   ./config --prefix=$HOME/openssl shared zlib

   make && make install

1

设置环境变量LD_LIBRARY_PATH

...shell

   echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile

   source $HOME/.bash_profile

1

安装的时候指定刚才安装的openssl

...shell

   # 解压py安装包

   tar -zxvf Python-3.7.0.tgz

   # 进去解压后的目录,安装时指定刚才 openssl 的位置

   ./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl

   make && make install

   echo $HOME

1

至此python3.7就安装完了,来检验下ssl模块能否被导入

...shell

   [root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# echo $HOME

   /root

   [root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# cd /root/Py37/

   [root@izbp12am8wqrn7t6wzgmydz bin]# ./python3

   Python 3.7.0 (default, Sep 16 2018, 14:12:43)

   [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux

   Type "help", "copyright", "credits" or "license" for more information.

   >>> import ssl

   >>> import _ssl

   >>>

END

我是 小梦同学,一个爱折腾技术的测试工程师,专注分享踩坑经验。

如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

最新文章

随机文章