首页 > 技术文章 > Linux安装python3以及python自动补全

dong- 2018-12-03 18:10 原文

安装python3

1. 下载python源码包

wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz

2. 解压缩源码包, 取出xz后缀

xz -d Python-3.6.7.tar.xz 

3. 解压缩源码包, 取出tar后缀

tar -xf Python-3.6.7.tar

4. 解决编译安装python3所需要的软件依赖问题, 非常非常非常重要

  注: 解决这些依赖关系后期才能正常运转python3.6, 如果不解决会出现各种错误信息, 还要重新编译python3.6

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

5. 开始进行编译安装(分为三步)

  1. 调用源码包路径下的configure这个脚本文件

    ./configure  --prefix=/opt/python36/

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制
上面的意思是将该软件安装在 /opt/python36/下面,执行文件就会安装在 /opt/python36/bin(而不是默认的 /usr/local/bin),资源文件就会安装在 /opt/python36/share(而不是默认的/usr/local/share)

  2. 执行make指令, 开始编译(此步骤还不会生成/opt/python36这个文件夹)

这一步就是编译, 大多数的源码包都经过这一步进行编译(当然也有些perl或者python编写的软件调用perl或python来进行编译)
如果在make过程中出现error, 需要记下错误代码(不仅是最后一行), 有可能是bug也有可能是系统内少了一些依赖库, 需要仔细研究错误代码
make的作用是开始进行源代码编译, 以及一些功能的提供, 这些功能由他的Makefile设置文件提供相关的功能, 比如make install一般代表安装, make uninstall是卸载, 不加参数就是默认的进行源代码编译
make是Linux开发套件里面自动化编译的一个控制程序, 它通过借助Makefile里面编写的编译规范进行自动化的调用gcc, ld以及运行某些需要的程序进行编译的程序. 一般情况下, 它所使用的Makefile控制代码, 由configure这个设置脚本根据给定的参数和系统环境生成

  3. 执行make install进行安装(此步骤才是安装软件的过程)

这条命令来进行安装(有些软件需要先运行make check或者make test来进行一些测试), 这一步一般需要有root权限(因为要向系统写入文件)
此步骤才会生成一个/opt/python36/这个软件安装路径

6. 编译安装好之后, 没有报错, 就可以正常使用python3

7. 快捷使用python3.6的方式

  一下配置方式, 二选一, 推荐使用path配置

  1. 软连接(这种方法比较麻烦, 并且不适用virtualenv的创建)

    ln -s /opt/python36/bin/python3.6  /usr/bin/python3     这一步还没有pip

    ln -s /opt/python36/bin/pip3  /usr/bin/pip3

  2. 环境变量的配置

    配置python36的bin目录, 加入环境变量

    因为path的路径查找是有优先级顺序的, 并且在配置virtualenv的嘶吼, 优先找到的python环境为base环境

    所以请将python36的bin目录放到path的第一层

/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:

  3. 配置环境变量, 永久生效

    将启动文件写入/etc/profile中, 每次登录都生效

vim /etc/profile
# 将此配置写入到最底行
PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
--------------------------------------------------------------------------
# 执行下面命令, 让python3生效
source /etc/profile

8. 检查所有python的文件夹关系

[root@localhost/opt 11:05:09]#ls
python36         (这个是工作的,已经安全号的python3软件包目录) 
Python-3.6.7       (这个是python3的源码文件夹,安装成功后可删)
Python-3.6.7.tar      可删

    


 安装ipython解释器

1. 安装ipython, 指定豆瓣源下载

pip3 install -i https://pypi.douban.com/simple  ipython

2. 安装jupyter

pip3 install -i https://pypi.douban.com/simple  jupyter

3. 进入ipython环境, 给jupyter设置密码

ipython                          #进入ipython的交互式界面
from IPython.lib import passwd
passwd()                    #生成jupyter登录的密码        

4. 生成jupyter的配置文件

jupyter notebook --generate-config --allow-root
# 修改如下配置一致即可,去掉注释符  #  才能读取代码

c.NotebookApp.ip = '建议写当前linux机器的ip地址'
c.NotebookApp.open_browser = False        # 设置不自动打开浏览器
c.NotebookApp.port = 8000

5. 启动jupyter

jupyter notebook  --allow-root    #启动notebook
ip:8000                  #端口访问你的jupyter页面

6. 如果遇到启动不了的问题, 很可能是防火墙没有关闭

iptables -L    #查看防火墙规则
iptables -F    #清空防火墙规则

systemctl stop firewalld            # 关闭防火墙服务
systemctl disable firewalld        # 从开机自启中, 移除这个防火墙服务, 永久关闭

 


 python Tab自动补全

 下载setuptool3.4以上已经默认安装了east_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") 

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

只需要启动时执行一条命令即可

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

然后,在~/.bashrc中设置

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

在python解释器中,输入一个变量的一部分,或者变量后面加句点,再按TAB键就可以看到自动补全的威力。

 

  

推荐阅读