zoukankan      html  css  js  c++  java
  • 解决linux下python多版本兼容问题?

    环境:CentOS 7(7下默认安装python2.7)

    Pyhon3在CentOS中需要依赖一些其他的包,我们一次性用yum安装一下:

    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

    1、安装python3

    wget -c https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
    tar -zxvf Python-3.5.2.tgz 
    cd Python-3.5.2
    ./configure --prefix=/usr/local/python3 
    #prefix后面是安装路径,可以换成自己的安装路径
    make
    make install
    
    #当需要输入python时直接指向python3.5,可以这样处理:
    ln -s /usr/local/python3/bin/python3 /usr/bin/python #前面换成你的安装路径
    
    #ps:如果提示 ln: creating symbolic link `/usr/bin/python': File exists
    #需要把原来的/usr/bin/python 通过以下命令备份一下
     mv /usr/bin/python /usr/bin/python.bak
    
    #需要恢复原来的python指向的话:
    cp /usr/bin/python.bak /usr/bin/python

    另外,因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:

    vi /usr/bin/yum

    把#! /usr/bin/python修改为#! /usr/bin/python2

    理 vi /usr/libexec/urlgrabber-ext-down 文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2

     

    So,python3 and python2就同时存在了

    2、安装setuptools

    下载 setuptools:

    wget https://pypi.python.org/packages/32/3c/e853a68b703f347f5ed86585c2dd2828a83252e1216c1201fa6f81270578/setuptools-26.1.1.tar.gz#md5=0744ee90ad266fb117d59f94334185d0

    解压:

      tar zxvf setuptools-26.1.1.tar.gz

    进入该目录:

    cd  setuptools-26.1.1

    python3 编译安装:

    python setup.py build

    python setup.py install

    报错:RuntimeError: Compression requires the (missing) zlib module

    缺少 zlib模块导致安装失败

    解决方式:

    # yum install zlib-devel 

    下载成功后,进入python3.5.2的目录,重新编译安装

    也就是:

    cd Python-3.5.2
    ./configure --prefix=/usr/local/python3 
    #prefix后面是安装路径,可以换成自己的安装路径
    make
    make install

    然后:
    cd setuptools-26.1.1
    继续:

    python setup.py build

    python setup.py install

     完事!

    3、安装pip

    下载pip:

    wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

    解压:

    tar zxvf pip-9.0.1.tar.gz
    
    cd pip-9.0.1
    
    python setup.py build
    
    python setup.py install

    此时pip是已被安装到了/usr/local/python3/bin目录中

    这时候我们可以搞一个软连接,这样我们就可以直接使用这个东东了

    ln -s /usr/local/python3/bin/pip3.5 /usr/bin/pip3  #当需要输入pip3时直接指向python3中的pip
    这样就可以跟python2中的pip区分开来了,想用哪个pip就调哪个,pip 就是默认调用python2中的pip,pip3就是调用python3中的pip

    
    
  • 相关阅读:
    Java基础教程:多线程杂谈——双重检查锁与Volatile
    LeetCode:打印零与奇偶数【1116】
    Java基础教程:多线程基础(6)——信号量(Semaphore)
    LeetCode:交替打印【1115】
    做一件事情的3个关键指标:兴趣、能力和回报
    做一件事情的3个关键指标:兴趣、能力和回报
    Retry模式
    Java技术——String类为什么是不可变的
    2017战略No.2:开始电子化记账
    2017战略No.2:开始电子化记账
  • 原文地址:https://www.cnblogs.com/freely/p/7581074.html
Copyright © 2011-2022 走看看