一、解决Python2 pip问题

centos7自带的是Python2,但是并没有安装pip,我们需要自行安装 包名为 python-pip

# yum install epel-release -y
# yum -y install python-pip
// 安装完成后不是最新的pip版本要进行升级
# pip install --upgrade pip # pip -V
pip 19.2.1 from /usr/lib/python2.7/site-packages/pip (python 2.7) // 现在可以使用pip进行对Python2 进行安装Python包了
// 第一种方法:
# pip install 包名 // 第二种方法:
# python -m pip install 包名

二、安装Python3

安装依赖关系。注:不能忽略相关包,我之前就没有安装readline-devel导致执行python模式无法使用键盘的上下左右键。

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

下载源码包。

注:如果没有wget命令可以使用 yum -y install wget 安装

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

解压、编译、安装

// 解压
# tar -xvJf Python-3.6.8.tar.xz // 编译
# cd Python-3.6.8
# ./configure prefix=/usr/local/python3 // 安装
# make && make install

建立软连接

cd /usr/bin
rm -f python
rm -f pip ln -s /usr/local/python3/bin/python3 python3
ln -s /usr/local/python3/bin/python3 python
ln -s /usr/local/python3/bin/python3 py3
ln -s /usr/local/python3/bin/python3 py
ln -s python2 py2 ln -s /usr/local/python3/bin/pip3 pip3
ln -s /usr/local/python3/bin/pip3 pip // 升级Python3的pip
pip3 install --upgrade pip

测试

// 测试
# pip3 -V
pip 19.2.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6) // 使用
# pip3 install 包名 // 或者
# python3 -m pip install 包名

三、安装TAB补全的解释器(ipython)

py2 -m pip install ipython
py3 -m pip install ipython
// 或者
pip3 install ipython
pip2 install ipython

设置软链接

cd /usr/bin
rm -f ipython
ln -s /usr/local/python3/bin/ipython /usr/bin/ipython3
ln -s /usr/local/python3/bin/ipython /usr/bin/ipython
ln -s /usr/local/python3/bin/ipython /usr/bin/ipy3
ln -s /usr/local/python3/bin/ipython /usr/bin/ipy
ln -s ipython2 ipy2

四、修改yum的配置

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

sed -i s/python/python2/ /usr/bin/yum
sed -i s/python/python2/ /usr/libexec/urlgrabber-ext-down
head -1 /usr/bin/yum
head -1 /usr/libexec/urlgrabber-ext-down

全部步骤完成之后,我的 CentOS7 里 Python 和 iPython 的版本如下:

[root@master ~]# ipy -V
7.7.0
[root@master ~]# ipy2 -V
5.8.0
[root@master ~]# python -V
Python 3.6.8
[root@master ~]# python2 -V
Python 2.7.5
[root@master ~]# pip -V
pip 19.2.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)
[root@master ~]# pip2 -V
pip 19.2.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
参考资料

Python2 和 Python3 共存于 Centos7的更多相关文章

  1. CentOS7保留默认Python版本并安装更新Python2和Python3共存

    CentOS 7 默认的python版本是python2.7.5.因为yum依赖于默认的python版本的缘由,所以要先保留默认版本,并修改yum文件头部后,才能开始安装更新python2和pytho ...

  2. python2 和 python3共存,并且分开使用

    目录 一.本文使用的python版本安装 二.安装python2 和 Python3 三.修改名称,配置环境,实现共存 1.将C:\Python36中的python.exe修改为python3.exe ...

  3. Windows系统配置Python环境,python2和python3共存

      Windows系统配置python2和python3共存   1.下载python: https://www.python.org/downloads/ 注:选择需要的版本(python2 or ...

  4. Django框架,python2和python3共存的情况下,创建Django项目

    一.python2和python3共存的情况下,直接使用 django-admin startproject Django-project 这个时候系统默认使用的是python2创建,可能由于pyth ...

  5. CentOS7 Python2 和Python3 共存(Python3安装)【转】

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  6. Python2.*与Python3.*共存问题

    安装Python 2.7后,本来在3.4下能正常使用的脚本无法运行.网上有的方法是把两个版本的主程序分别改名为python2和python3,人眼判断脚本,手输命令行执行脚本.像我这样喜欢双击.拖拽的 ...

  7. 用 Anaconda 完美解决 Python2 和 python3 共存问题

    Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python2 的环境中,因此有时你不得不同时在两个版本中进行开发,调试. 如何在系统中同时共存 Python2 ...

  8. windows下 python2 和python3 共存

    目前我们在国内网站上看到的两者共存的方法就是将其中一个的python.exe重命名.虽说在一定程度上可行,但存在一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用. 下面说一下具体 ...

  9. Python2和Python3共存,pip共存

    使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份. 1.下载python3和python2 进入python官网,链接https:/ ...

随机推荐

  1. numpy基础教程--对数组进行水平拼接和竖直拼接

    在处理数组的时候经常要用到拼接,numpy中有两个非常实用的函数,可以快捷对数组进行拼接 1.hstack(tup)函数可以接收维度相同的数组,进行水平拼接. 2.vstack(tup)用来竖直拼接 ...

  2. Jenkins远程发布制品

    目录 一.简介 二.实现 一.简介 WEB服务很少会与Jenkins服务器在同一台机器,所以需要将构建好的制品包,发放到远程服务器进行部署. 二.实现 插件名:Publish over SSH 作用: ...

  3. centos部署golang环境

    目录 一.简介 二.部署 一.简介 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布.Go 是非常年轻的一门语言,它的主要目标是"兼具 Python 等动态语 ...

  4. Python matplotlib绘图设置图例

    一.语法简介 plt.legend(loc=2,edgecolor='red',facecolor='green',shadow='True',fontsize=10) #edgecolor 图例边框 ...

  5. STL 较详尽总结

    STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...

  6. 减轻内存负担,在 pymysql 中使用 SSCursor 查询结果集较大的 SQL

    前言 默认情况下,使用 pymysql 查询数据使用的游标类是 Cursor,比如: import pymysql.cursors # 连接数据库 connection = pymysql.conne ...

  7. 例外日期(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 日历无论怎么样自定义,只要仍是存在固化规律的,就铁定会坏事,因为人类的历史就是在大规律中掺杂着无数无规律,再由无数无规律凝 ...

  8. 丈量你的代码,从cloc开始

    如果我想统计我当前的项目有多少代码量?行数最高的代码文件有哪些?并且排除某些目录,怎么统计?要统计出注释多少行,和代码多少行?使用cloc就行. cloc是一款使用Perl语言开发的开源代码统计工具, ...

  9. .NET Core基础篇之:白话管道中间件

    在.Net Core中,管道往往伴随着请求一起出现.客户端发起Http请求,服务端去响应这个请求,之间的过程都在管道内进行. 举一个生活中比较常见的例子:旅游景区. 我们都知道,有些景区大门离景区很远 ...

  10. 关于c++、go、nodejs、python的计算性能测试,结果令人惊讶

    计算性能在计算密集型的服务上,是非常重要的, 一直以为,在计算性能上,肯定是C++  > go > nodejs >= python 但测试结果却让人大跌眼镜!!! 实际的结果是: ...