Linux下安装Python3.6及避坑指南

 更新时间:2019年05月08日 08:50:10   作者:良许Linux  
这篇文章主要介绍了Linux下Python3.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的源代码有两种方式,一种是在它的官网下载,网址如下:

www.python.org/downloads/source/

[图片]

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

wget 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下安装Python3.6及避坑指南,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对华域联盟网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Linux 相对路径和绝对路径的使用

    Linux 相对路径和绝对路径的使用

    这篇文章主要介绍了Linux 相对路径和绝对路径的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2020-02-02

  • 在 CentOS 8/RHEL 8 上安装和使用 Cockpit的方法

    在 CentOS 8/RHEL 8 上安装和使用 Cockpit的方法

    Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统。最近发布的 CentOS 8 和 RHEL 8,其中 cockpit 是默认的服务器管理工具。这篇文章主要介绍了在 CentOS 8/RHEL 8 上安装和使用 Cockpit的方法,需要的朋友可以参考下

    2019-10-10

  • Tomcat中的startup.bat原理详细解析

    Tomcat中的startup.bat原理详细解析

    在windows操作系统中,我们运行tomcat只需要执行startup.bat脚本就好,这个startup.bat脚本到底是什么?下面这篇文章就来给大家详细的解析了关于Tomcat中startup.bat原理的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

    2017-09-09

  • inotify-tools+rsync实时同步文件的配置方法

    inotify-tools+rsync实时同步文件的配置方法

    我使用的是google的inotify-tools,比较简单.国内有功能很强大的类似的程序,但是好复杂.

    2013-02-02

  • Linux命令 sort、uniq、tr工具详解

    Linux命令 sort、uniq、tr工具详解

    这篇文章主要介绍了Linux命令 sort、uniq、tr工具详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    2020-07-07

  • ubuntu18虚拟机克隆后ip相同的解决方法

    ubuntu18虚拟机克隆后ip相同的解决方法

    这篇文章主要给大家介绍了关于ubuntu18虚拟机克隆后ip相同的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-11-11

  • centos中nginx按日期自动分割访问日志的方法

    centos中nginx按日期自动分割访问日志的方法

    本篇文章主要介绍了centos中nginx按日期自动分割访问日志的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    2017-03-03

  • Linux中MongoDB如何实现远程自动备份详解

    Linux中MongoDB如何实现远程自动备份详解

    这篇文章主要给大家介绍了关于Linux中MongoDB如何实现远程自动备份的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-09-09

  • 使用VSCode和SSH进行远程开发

    使用VSCode和SSH进行远程开发

    这篇文章主要介绍了使用VSCode和SSH进行远程开发,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2020-05-05

  • 详解Linux 下开发微信小程序安装开发工具

    详解Linux 下开发微信小程序安装开发工具

    这篇文章主要介绍了详解Linux 下开发微信小程序安装开发工具的相关资料,需要的朋友可以参考下

    2017-06-06

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。