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

系统 Linux
Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好。

Python3的安装

1. 安装依赖环境

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

  1. 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 

[[341843]]

2. 下载Python3源代码

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

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

[图片]

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

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

3. 创建安装目录

安装目录可依个人喜好创建,比如在此创建在 /usr/local/python3 :

  1. mkdir -p /usr/local/python3 

4. 解压源码包

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

  1. tar -zxvf Python-3.6.1.tgz 

5. 编译源码

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

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

之后再编译,然后再安装:

  1. make 
  2. make install 

6. 建立Python3的软链接

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

7. 将/usr/local/python3/bin加入PATH

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

  1. vim ~/.bash_profile 

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

  1. # .bash_profile 
  2. # Get the aliases and functions 
  3. if [ -f ~/.bashrc ]; then 
  4.         . ~/.bashrc 
  5. fi 
  6. # User specific environment and startup programs 
  7. PATH=$PATH:$HOME/bin:/usr/local/python3/bin 
  8. export PATH 

改动完毕之后,按Esc,再输入:wq进行保存退出。

8. 检查Python3及Pip3是否正常可用

执行如下命令(注意:V是大写的V),如果看到的结果一致的话,说明Python3已经成功安装。

  1. [alvin@VM_0_16_centos ~]$ python3 -V 
  2. Python 3.6.1 
  3. [alvin@VM_0_16_centos ~]$ pip3 -V 
  4. 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安装上即可:

  1. yum install -y gcc 

当然除此之外,采用源码安装的方式也可以。

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

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

  1. 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模块,而由于没有指定,所以该功能不可用。解决办法如下:

  1. cd Python-3.6.2 
  2. ./configure --with-sslmakesudo make install 

坑4:Multilib version problems

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

首先查询已有的版本(以openssl为例,冲突哪个查哪个)

  1. # rpm -qa | grep openssl 
  2. openssl-devel-1.0.0-27.el6_4.2.x86_64 
  3. openssl-1.0.0-27.el6_4.2.x86_64 
  4. 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的版本即可:

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

再更新一下openssl:

  1. # yum update "openssl*" 

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

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

本文授权转载自公众号「良许Linux」。良许,世界500强外企Linux开发工程师,公众号里分享大量Linux干货,欢迎关注!

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2021-05-07 21:53:44

Python 程序pyinstaller

2021-05-08 12:30:03

Pythonexe代码

2020-06-12 11:03:22

Python开发工具

2021-02-26 00:46:11

CIO数据决策数字化转型

2020-12-16 10:00:59

Serverless数字化云原生

2023-05-24 10:06:42

多云实践避坑

2022-03-04 18:11:16

信服云

2021-02-22 17:00:31

Service Mes微服务开发

2018-01-20 20:46:33

2021-04-28 09:26:25

公有云DTS工具

2020-08-26 07:37:25

Nacos微服务SpringBoot

2019-02-12 15:07:42

屏幕参数PC

2018-03-26 11:14:13

程序猿bug代码

2019-04-24 17:45:24

微服务容器青云

2019-10-17 09:58:01

深度学习编程人工智能

2020-06-19 11:20:17

开发避坑支付宝

2020-05-21 11:38:10

监控系统架构技术

2021-09-16 19:22:06

Java概念concurrent
点赞
收藏

51CTO技术栈公众号