centos7安装python3

一、安装python3

(一)下载python3的源码

注意:主机额外安装的软件按照目录结构应该放在/opt 下

网址:https://www.python.org/downloads/release/python-362/

下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
#方式一:

cd /opt
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

#方式二:

wget -O /opt  https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

(二)安装python3所依赖的库环境,非常重要,提前安装好这些软件包,日后就不会出现很多坑

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

注意:每个软件包通过空格分割,必须保证这些依赖工具包正确安装。

(三)解压源码包

下载好python源码包之后,/opt目录下会多一个 Python-3.6.2.tgz 的压缩文件,我们需要使用tar命令来解压缩。

#tar命令可以解压缩 tgz格式

tar -xvf  Python-3.6.2.tgz

解压缩之后,/opt 目录下会多一个Python-3.6.2 目录,此时我们需要切换到这个目录下来进行编译和安装的操作。

cd Python-3.6.2 

(四)编译且安装

1、configure

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制。

configure --prefix=/opt/python36/

#参数:--prefix  指定软件的安装路径

上面的意思是将该软件安装在/opt 下面,起名为python36,执行文件安装在/opt/python36/bin,资源文件安装在/opt/python36/share。

2、make

这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。

make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

3、make install

这条命令来进行安装,只有在这一步才会生成 /opt/python36

4、配置python3.6的环境变量

#1.配置软连接(注意,这个和PATH配置,二选一)
    #语法:ln -s 目标文件  软连接文件
    ln -s  /opt/python36/bin/python3.6    /usr/bin/python3 
    #此时还没有pip
    ln -s  /opt/python36/bin/pip3   /usr/bin/pip3 



#2.配置path环境变量 (二选一即可)
echo $PATH    #查看环境变量
#/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#这个变量赋值操作,只是临时生效,需要写入到文件,永久生效
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#linux有一个全局个人配置文件,编辑这个文件,在最底行写入PATH
vim /etc/profile 
#写入
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

#保存退出

#读一下这个/etc/profile 使得生效
source /etc/profile

安装好python3之后,我们就可以使用pip3命令任性的下载项目所需要的包啦!pip3安装的模块,都放在/opt/python36/lib/python3.6/site-packages

二、牛逼的python Tab自动补全

下载setuptool 3.4以上已经默认安装了easy_install-3.4

复制代码
下载地址:
https://pypi.python.org/pypi/setuptools/36.2.7
下载命令:
wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5844e/setuptools-36.2.7.zip#md5=b9e6c049617bac0f9e908a41ab4a29ac
解压:
unzip setuptools-36.2.7.zip
编译:
python3 setup.py build
python2 setup.py build
无误后安装:
python3 setup.py install
python2 setup.py install
复制代码

下载readline

#yum install -y readline-devel -y 
#pip install readline
复制代码
tab补全
#python startup file
import readline,rlcompleter
#tab completion
readline.parse_and_bind('tab:complete')
----------------------------
python历史记录
#history file
import os
history_file = os.path.join(os.environ["HOME"],".pythonhistory")
复制代码
复制代码
[root@mm_local ~]# echo "export PYTHONSTARTUP='/root/.pythonstartup'" >> /root/.bashrc   
[root@mm_local ~]# source /root/.bashrc  
[root@mm_local ~]# cat /root/.pythonstartup   
import os  
import readline  
import rlcompleter  
import atexit  
  
  
#tab completion  
readline.parse_and_bind("tab: complete")  
  
  
#history file  
history_file = os.path.join(os.environ["HOME"],".pythonhistory")  
try:  
    readline.read_history_file(history_file)  
except IOError:  
    pass  
atexit.register(readline.write_history_file,history_file)  
  
  
del os,history_file,readline,rlcompleter  
[root@mm_local ~]# python  
Python 2.7.3 (default, Jun  5 2013, 22:40:26)   
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import sys  
>>> sys.path<tab> #按tab键就可以自动补全了  
  
[root@mm_local ~]# python  
>>>  
>>> sys.path #按上下方向键即可找到历史命令 
复制代码

 加入python的启动环境变量,永久生效自动补全

复制代码
只需要启动时执行一条命令即可

import rlcompleter, readline
readline.parse_and_bind('tab:complete')
可以将上述的代码存于~/.pythonrc.py文件中。

然后,在~/.bashrc中设置

export PYTHONSTARTUP=~/.pythonrc.py
这样,每次启动终端,bash就会设置PYTHONSTARTUP这个环境变量,然后,python启动时就会使用这个变量指定的文件中的初始化代码。

在python解释器中,输入一个变量的一部分,或者变量后面加句点,再按TAB键就可以看到自动补全的威力。
复制代码
原文地址:https://www.cnblogs.com/fengchong/p/10192996.html