• linux python升级和ipython的安装


    CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本。所以需要进行版本升级。由于一些系统工具和服务是对 Python 有依赖的,所以升级 Python 版本需要注意。


    升级步骤

    如何欢乐的,没有痛苦的升级python版本 ,往下看 …

    更新系统和开发工具集
    更新指令
    [root@localhost ~]# yum -y update
    [root@localhost ~]# yum groupinstall -y 'development tools'
    
    另外还需要安装 python 工具需要的额外软件包 SSL, bz2, zlib
    [root@localhost ~]# yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget
    
    源码安装Python 2.7.x
    [root@localhost ~]# wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
    [root@localhost ~]# xz -d Python-2.7.8.tar.xz
    [root@localhost ~]# tar -xvf Python-2.7.8.tar
    
    
    安装详情:
    # 进入目录:
    [root@localhost ~]# cd Python-2.7.8
    
    # 运行配置 configure:    加上--enable-shared 以后需要用到libpython 库
    [root@localhost ~]# ./configure --enable-shared --prefix=/usr/local
    
    # 编译安装:
    [root@localhost ~]# make 
    [root@localhost ~]# make altinstall
    
    # 检查 Python 版本:
    [root@localhost ~]# python2.7 -V
    Python 2.7.8
    
    [root@localhost Python-2.7.8]# python2.7 -V
    python2.7: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
    [root@localhost Python-2.7.8]# find /|grep libpython2.7.so.1.0
    /opt/Python-2.7.8/libpython2.7.so.1.0
    /usr/local/lib/libpython2.7.so.1.0
    [root@localhost Python-2.7.8]# cp -a libpython2.7.so.1.0 /usr/lib/
    [root@localhost Python-2.7.8]# python2.7 -V
    python2.7: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
    [root@localhost Python-2.7.8]# ldconfig
    [root@localhost Python-2.7.8]# python2.7 -V
    Python 2.7.8
    [root@localhost Python-2.7.8]#
    
    设置 PATH

    为了我们能够方便的使用Python,我们需要设置系统变量或者建立 软连接将新版本的 Python
    加入到 path 对应的目录 :

    [root@localhost ~]# export PATH="/usr/local/bin:$PATH"
    or 
    [root@localhost ~]# ln -s /usr/local/bin/python2.7  /usr/bin/python
    
    # 检查
    [root@localhost ~]# python -V
    Python 2.7.8
    [root@localhost ~]# which python
    /usr/bin/python
    

    安装 setuptools

    #获取软件包
    [root@localhost ~]# wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz 
    
    #解压:
    [root@localhost ~]# tar -xvf setuptools-1.4.2.tar.gz
    [root@localhost ~]# cd setuptools-1.4.2
    
    # 使用 Python 2.7.8 安装 setuptools
    [root@localhost ~]# python2.7 setup.py install
    

    安装 PIP

    [root@localhost ~]# curl --insecure https://bootstrap.pypa.io/get-pip.py | python2.7 -
    

    修复 yum 工具

    此时yum应该是失效的,因为此时默认python版本已经是2.7了。而yum需要的是2.6 所以:

    [root@localhost ~]# which yum
    /usr/bin/yum
    

    修改 yum中的python

    [root@localhost ~]# vi /usr/bin/yum
    #!/usr/bin/python2.6
    ……
    

    将第一行 #!/usr/bin/python 改为 #!/usr/bin/python2.6此时yum就ok啦


    安装ipython
    1. yum 安装
    [root@localhost ~]# yum install ipython -y
    
    1. pip install ipython #前提你有安装setuptools才有pip
    [root@localhost ~]# pip install ipython
    
    [root@localhost ~]# ipython
    /usr/local/lib/python2.7/site-packages/IPython/frontend.py:21: ShimWarning: The top-level `frontend` package has been deprecated. All its subpackages have been moved to the top `IPython` level.
      "All its subpackages have been moved to the top `IPython` level.", ShimWarning)
    /usr/local/lib/python2.7/site-packages/IPython/core/history.py:228: UserWarning: IPython History requires SQLite, your history will not be saved
      warn("IPython History requires SQLite, your history will not be saved")
    Python 2.7.8 (default, Oct 18 2016, 10:37:37) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 5.1.0 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: print ( "hello word!" )
    hello word!
    
    扩展python模块
    pip install requests  
    pip install Flask
    pip install fabric
    pip install psutil
    pip install IPy
    pip install dnspython
    pip install MySQL-python
        #1. yum install mysql-devel.x86_64
        #2. pip install mysql-python
    

    python数据库安装时错误解决办法:

    [root@localhost opt]# pip install mysql-python
    Collecting mysql-python
      Using cached MySQL-python-1.2.5.zip
        Complete output from command python setup.py egg_info:
        sh: mysql_config: command not found
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/tmp/pip-build-o53eKA/mysql-python/setup.py", line 17, in <module>
            metadata, options = get_config()
          File "setup_posix.py", line 43, in get_config
            libs = mysql_config("libs_r")
          File "setup_posix.py", line 25, in mysql_config
            raise EnvironmentError("%s not found" % (mysql_config.path,))
        EnvironmentError: mysql_config not found
        
        ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-o53eKA/mysql-python/
    
    [root@localhost opt]# yum install mysql-devel.x86_64
    [root@localhost opt]# pip install mysql-python
    Collecting mysql-python
      Using cached MySQL-python-1.2.5.zip
    Building wheels for collected packages: mysql-python
      Running setup.py bdist_wheel for mysql-python ... done
      Stored in directory: /root/.cache/pip/wheels/38/a3/89/ec87e092cfb38450fc91a62562055231deb0049a029054dc62
    Successfully built mysql-python
    Installing collected packages: mysql-python
    Successfully installed mysql-python-1.2.5
    [root@localhost opt]# ipython
    Python 2.7.8 (default, Oct  4 2016, 17:31:33) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 5.1.0 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: import MySQLdb
    
  • 相关阅读:
    c++中for的四种用法
    同步
    排列算法(reverse...rotate...next_permutation)
    指针
    const的使用
    const_cast
    c++设计模式——单例模式
    c++中的流
    c++从string类型转换为bool类型
    结构体字节对齐方式
  • 原文地址:https://www.cnblogs.com/mologa-jie/p/6064779.html
Copyright © 2020-2023  润新知