zoukankan      html  css  js  c++  java
  • centos7安装python3 以及tab补全功能

    centos7安装python3 以及tab补全功能

     

    1.安装python3

    1.1下载python源码包

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

    下载地址:https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

    编译安装python3.6的步骤
    
    1.下载python3源码包
    2.下载python3编译的依赖包
    3.解压缩源码包 
    4.进入源码包文件夹 
    5.编译且安装
        1.进入源码包目录
        2.  ls查看源码包内容
        3.  释放编译文件 Makefile  
        4.编译
        5.编译安装,此步才会最终生成 /opt/python36/
        6.进入/opt目录查看python36文件夹,我们要的python3都在这里了
    6.更改linux的path变量,添加python3
        一定要将python3的目录放在第一位
        为了永久生效path设置,添加到/etc/profile全局环境变量配置文件中
        重载配置文件/etc/profile
    7.安装django模块
    8.查看当前解释器的python模块有哪些
    编译安装python3.6的步骤

    1.1.1安装python前的库环境,非常重要

    yum install -y 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

    1.2下载,解压安装源码包

    tar -xvf Python-3.6.6.tgz  
    cd  Python-3.6.6  # 进入源码包文件夹

    1、configure

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

    ./configure --prefix=/usr

    上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。

    同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。

    2、make

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

    如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

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

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

    3、make install

    这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)

    wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
    xz -d Python-3.6.7.tar.xz
    tar -xf Python-3.6.7.tar
    #yum install gcc -y
    ./configure --prefix=/opt/python make && make install
    ---------------------
    用python查看默认安装路径
    >>> import sys
    >>> sys.path
    ['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6',
    '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
    --------------------
    python3.4默认没添加path
    在/etc/profile最后一行添加
    export PATH=$PATH:/opt/python/bin
    然后
    source /etc/profile

    #python快捷path就被改了,yum用的python2,麻烦

    # 尝试安装django来通过python3解释器运行它
    pip3 install -i https://pypi.douban.com/simple django==1.11.16

    # 创建django项目与APP
    django-admin startproject mysite
    django-admin startapp app01

    1.2.3 牛逼的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键就可以看到自动补全的威力。
     
  • 相关阅读:
    POJ 2240 Arbitrage spfa 判正环
    POJ 3259 Wormholes spfa 判负环
    POJ1680 Currency Exchange SPFA判正环
    HDU5649 DZY Loves Sorting 线段树
    HDU 5648 DZY Loves Math 暴力打表
    HDU5647 DZY Loves Connecting 树形DP
    CDOJ 1071 秋实大哥下棋 线段树
    HDU5046 Airport dancing links 重复覆盖+二分
    HDU 3335 Divisibility dancing links 重复覆盖
    FZU1686 神龙的难题 dancing links 重复覆盖
  • 原文地址:https://www.cnblogs.com/zbj666/p/12179924.html
Copyright © 2011-2022 走看看