关于linux:Linux下Python36的安装及避坑指南

4次阅读

共计 2400 个字符,预计需要花费 6 分钟才能阅读完成。

Python3 的装置

1. 装置依赖环境

Python3 在装置的过程中可能会用到各种依赖库,所以在正式装置 Python3 之前,须要将这些依赖库后行装置好。

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

2. 下载 Python3 源代码

下载 Python3 的源代码有两种形式,一种是在它的官网下载,网址如下:

https://www.python.org/downloads/source/

[图片]

另外一种形式是通过 wget 间接下载,如以下命令:

wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

3. 创立装置目录

装置目录可依集体爱好创立,比方在此创立在 /usr/local/python3

mkdir -p /usr/local/python3

4. 解压源码包

将第 2 步下载到的源码包进行解压,命令为:

tar -zxvf Python-3.6.1.tgz

5. 编译源码

先进入解压后源码包的目录,再进行配置:

cd Python-3.6.1
./configure --prefix=/usr/local/python3

之后再编译,而后再装置:

make
make install

6. 建设 Python3 的软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

7. 将 /usr/local/python3/bin 退出 PATH

编辑 bash_profile 进行批改环境变量:

vim ~/.bash_profile

在 PATH 变量下将 Python3 的启动目录增加进去:

# .bash_profile

# Get the aliases and functions
if [-f ~/.bashrc]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/python3/bin

export PATH

改变结束之后,按 Esc,再输出:wq 进行保留退出。

8. 查看 Python3 及 Pip3 是否失常可用

执行如下命令(留神:V 是大写的 V),如果看到的后果统一的话,阐明 Python3 曾经胜利装置。

[alvin@VM_0_16_centos ~]$ python3 -V
Python 3.6.1
[alvin@VM_0_16_centos ~]$ pip3 -V
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

避坑指南

其实,对于 Python3 的装置,网络上有太多的帖子了,步骤其实都大同小异。然而,在真正入手装置之后,或多或少都会遇到一些麻烦,特地是对老手而言。上面良许就列举一些常见的坑:

坑 1:configure: error: no acceptable C compiler found in $PATH

这个问题就比较简单,就是短少 gcc 编译环境。将 gcc 装置上即可:

yum install -y gcc

当然除此之外,采纳源码装置的形式也能够。

坑 2:zipimport.ZipImportError: can’t decompress data

这种问题就是因为短少 zlib 的相干工具包导致的,将相干依赖包装上即可:

yum -y install zlib*

装置之后再从新编译源码,即可解决。

坑 3:pip3: Can’t connect to HTTPS URL because the SSL module is not available

这个问题是因为在./configure 过程中,如果没有加上–with-ssl 参数时,默认装置的软件波及到 ssl 的性能不可用,刚好 pip3 过程须要 ssl 模块,而因为没有指定,所以该性能不可用。解决办法如下:

cd Python-3.6.2
./configure --with-ssl
make
sudo make install

坑 4:Multilib version problems

这个很显著了,就是同一个库有多个版本。把多余的版本删除了就好。

首先查问已有的版本(以 openssl 为例,抵触哪个查哪个)

# rpm -qa | grep openssl
openssl-devel-1.0.0-27.el6_4.2.x86_64
openssl-1.0.0-27.el6_4.2.x86_64
openssl-1.0.0-27.el6_4.2.i686

能够看到零碎里装置了 openssl-1.0.0-27.el6_4.2.x86_64 和 openssl-1.0.0-27.el6_4.2.i686 两个版本的 openssl,咱们留下 x86 的版本即可:

rpm --erase --nodeps openssl-1.0.0-27.el6_4.2.i686

再更新一下 openssl:

# yum update "openssl*"

再查问一下 openssl,问题解决!

# rpm -qa | grep openssl
openssl-devel-1.0.1e-16.el6_5.7.x86_64
openssl-1.0.1e-16.el6_5.7.x86_64

最初,最近很多小伙伴找我要 Linux 学习路线图 ,于是我依据本人的教训,利用业余时间熬夜肝了一个月,整顿了一份电子书。无论你是面试还是自我晋升,置信都会对你有帮忙!

收费送给大家,只求大家金指给我点个赞!

电子书 | Linux 开发学习路线图

也心愿有小伙伴能退出我,把这份电子书做得更完满!

有播种?心愿老铁们来个三连击,给更多的人看到这篇文章

举荐浏览:

  • 干货 | 程序员进阶架构师必备资源免费送
  • 神器 | 反对搜寻的资源网站
正文完
 0