解决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
解决linux下python多版本兼容问题?的更多相关文章
- linux下python多版本共存
为何要安装python,linux下不是已经集成了python吗? 大多数linux系统都集成了python,但是他们的版本太低了.不能满足我们的需求,尤其是好多系统居然仍停留在 python2.6. ...
- Linux下python默认版本切换成替代版本
本文链接自http://www.myhack58.com/Article/48/66/2016/71806.htm 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Pyt ...
- 将Linux下python默认版本切换成替代版本
本文链接自http://www.myhack58.com/Article/48/66/2016/71806.htm 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Pyt ...
- Linux下python多版本多环境介绍
一.python多版本配置说明 安装python相关依赖 [root@centos6 ~]# yum install -y gcc make patch gdbm-devel openssl-dev ...
- 解决linux下javac -version和java -version版本显示不一致
解决linux下javac -version和java -version版本显示不一致 [javascript] view plaincopy [root@localhost usr]# $JAVA_ ...
- 解决Linux下jdk版本与安装版本不一致
解决Linux下jdk版本与安装版本不一致 在Linux下安装jdk后,利用java -version查看版本使,发现不是自己所安装的jdk版本; 解决方案: which java ——查看默认的jd ...
- 完美解决 Linux 下 Sublime Text 中文输入
首先,我参考了好几篇文章,都是蛮不错的,先列出来: sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题.可用这个的强烈推荐用这个 完美解决 Linux 下 Sub ...
- Linux下python安装升级详细步骤 | Python2 升级 Python3
Linux下python升级步骤 Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如 ...
- [转]Windows下Python多版本共存
https://blog.csdn.net/dream_an/article/details/51248736 Windows下Python多版本共存 Python数据科学安装Numby,pandas ...
随机推荐
- pycharm 社区版
这个是免费版.到3.1.13 http://pan.baidu.com/s/1bnvPdtt 没用过idea的商业版,不知道为什么它的更新那么蛋疼,不能增量更新,每次都得手动下载完整的压缩包.
- kettle的job中使用循环
job中使用循环 在一个不稳定的网络环境下作文件传输.偶尔会有超时或连接重置.这时须要稍等片刻再重试.在重试10次之后放弃并结束该job.类似使用循环解决这类问题. 该演示样例job演示了这样 ...
- bjposition
背景位置:background-origin:content-box;//"border-box", "padding-box", "content- ...
- 封装常用的selenium方法
package com.yk.userlive.base; import java.net.MalformedURLException;import java.net.URL;import java. ...
- Temporal Ensembling for Semi-Supervised Learning
Laine, Samuli, and Timo Aila. "Temporal Ensembling for Semi-Supervised Learning." arXiv pr ...
- openldap+php-ldap操作
一.基础知识首先,如果您对LDAP 不认识,建议先看看[原]LDAP服务介绍一文.本文以Linux 下常用的OpenLDAP为例说明.LDAP 以数方式存放数据,每个节点可存放属性或作为下面节点的父节 ...
- 调结者(Dispatcher)之执行action
调结者的执行action StrutsExecuteFilter类的工作就是执行对应的action请求.StrutsExecuteFilter类的工作还需要有一个叫ExecuteOperations类 ...
- 【BZOJ4688】One-Dimensional 矩阵乘法
[BZOJ4688]One-Dimensional Description 考虑一个含有 N 个细胞的一维细胞自动机.细胞从 0 到 N-1 标号.每个细胞有一个被表示成一个小于 M 的非负整数的状态 ...
- java怎么计算散列码hashcode?
转自:https://blog.csdn.net/qq_21430549/article/details/52225801 1.从HashMap说起 我们知道Map以键值对的形式来存储数据.有一点值得 ...
- [LintCode] 正则表达式匹配
class Solution { public: /** * @param s: A string * @param p: A string includes "." and &q ...