Linux(CentOS6)下python3源码编译安装

-----CentOS6是在虚拟机上运行的,windows下推荐使用的工具:xshell,xftp,下载地址:https://www.netsarang.comhtml

 

1.首先在python官网下载python3源码(tgz格式),地址见:https://www.python.org/downloads/source/,我下载的最新版本是python3.7.3,下面都以这个包为例,python

  tgz格式的源码下载好后经过Xftp软件把文件传到linux下,如用户下的桌面目录linux

 2.在linux下解压源码压缩包,切换到压缩包目录,执行解压命令:shell

tar -zxvf Python-3.7.3.tgz

  解压完以后能够在当前目录生成解压好的源码文件夹windows

 3.准备编译环境,我使用gcc工具对python源码进行编译,因此要先安装gcc工具,执行命令(须要root权限先su root):bash

yum install gcc

 

 4.准备安装依赖包:zlib,openssl,python的pip须要依赖这两个包工具

yum install zlib* openssl*

中间会两次提示是否安装XXXX,都输入输入Y回车就行测试

5.预编译源码,转到解压好的文件下执行命令:优化

./configure --prefix=/usr/python-3.7.3 --enable-optimizations

其中 --prefix 后面接的是用户安装的目录,我选择安装在/usr下的python.3.7.3文件夹(本身命名,会主动建立)下, --enable-optimizations 命令表示对python优化安装,官方推荐,咱们也这么用。spa

6.编译源码,执行命令:

make

  这个过程有点漫长,这时能够去泡个脚喝杯咖啡放松放松。

7.安装编译好的源码,执行命令:

make install

  这个过程也不短,能够先往下把环境配置的步骤熟悉下。

  我在执行make install后出现报错:no module named '_ctypes',这是由于3.7版本须要一个新的包libffi-devel,安装此包以后再次进行编译安装便可。

  执行命令: yum install libffi-devel -y 后再次 ./configure --prefix=/usr/python-3.7.3 --enable-optimizations  make && make install  成功安装如图

  

 

  安装成功后能够在/usr/python3.7.3/bin目录下发现许多可执行文件和连接文件,如图:

 8.配置环境变量

   配置的目的是让计算机帮我找到命令执行文件所在的路径

  安装完成后我执行命令 python3 (CentOS6默认没有安装,只有pyhon2,执行命令 python 便可,(退出输入命令 exit()  或者Ctrl+D)显示找不到,说明安装好的python3环境尚未配置好

必定要注意!继续下面操做必定要注意当前用户是哪一个,最好是普通用户下操做而不是root用户,由于不一样用户对应的~/.bashrc是不同的

~ :指当前用户的家目录

若是选择的root用户,他的 ~  目录是/root路径,若是选择的fancyop用户,他的 ~ 目录是/home/fancyop路径

当前系统只有一个普通用户fancyop

从fancyop用户切换到root用户命令  su root

从root用户切换到fancyop用户命令 exit

 

配置过程如:

vi ~/.bashrc

 

编辑.bashrc文件,在最后一行添加 PATH=$PATH:/usr/python-3.7.3/bin 

 或者能够另一种配置方式,在。bashrc文件最后添加:

PYTHON_HOME=/usr/python-3.7.3 PATH=$PATH:$PYTHON_HOME/bin

二者选其一便可,使用  #  能够屏蔽该行代码,保存退出,而后再执行命令:

source ~/.bashrc

source:使当前shell读入路径为filepath的shell文件并依次执行文件中的全部语句,一般用于从新执行刚修改的初始化文件,使之当即生效,而没必要注销并从新登陆。

这样python3的环境就配置好了,能够输入命令 python3 测试一下,结果如图(退出输入命令 exit() 或者Ctrl+D)

 

存在的问题:在CentOS6.4/CentOS6.1下安装python3.7.3后pip3用不了,多是依赖文件版本的问题,使用这个方法安装python3.6.1没有问题,一切功能正常

参考资料:http://www.javashuo.com/article/p-ffnnigex-s.html

相关文章
相关标签/搜索