一、解决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. 控制 Python 类的序列化过程

    问题 有的类是不支持在多进程间传递的,如果非要这么做,可能会引发奇怪的现象.比如下面这段代码: from concurrent.futures import ProcessPoolExecutor, ...

  2. exit_hook在pwn题中的应用

    以前只接触过malloc_hook,free_hook,大概意思就是在调用malloc和free的时候会先看看里面有没有东西,有的话就会执行.以前在看一些师傅们博客的时候有看到过exit_hook,前 ...

  3. [BUUCTF]PWN——ez_pz_hackover_2016

    ez_pz_hackover_2016 题目附件 解题步骤: 例行检查,32位,开启了RELRO保护,二进制的保护机制看这里 由于没有开启nx保护,对于这题一开始想到的是利用写入shellcode来获 ...

  4. Go语言核心36讲(Go语言实战与应用二十六)--学习笔记

    48 | 程序性能分析基础(上) 作为拾遗的部分,今天我们来讲讲与 Go 程序性能分析有关的基础知识. Go 语言为程序开发者们提供了丰富的性能分析 API,和非常好用的标准工具.这些 API 主要存 ...

  5. BitBake使用攻略--BitBake的语法知识一

    目录 写在前面 1. BitBake中的赋值 1.1 直接赋值 1.2 间接赋值 1.3 追加与前加赋值 1.4 Override风格的赋值语法 1.5 标志赋值 1.6 内联函数赋值 1.7 其他一 ...

  6. cmake之譬判断cmake的版本

    note 有时候,可能使用的cmake语法 与cmake的版本有关系, 比如modern cmake. 这时候我们可以在 CMAKELISTS.TXT中 判断 cmakeLists.txt 代码 if ...

  7. java源码——计算立体图形的表面积和体积

    计算球,圆柱,圆锥的表面积和体积. 利用接口实现. 上代码. Contants.java 常量存储类 package com.fuxuemingzhu.solidgraphics.contants; ...

  8. 【LeetCode】359. Logger Rate Limiter 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 日期 题目地址:https://leetcode ...

  9. 【LeetCode】1170. Compare Strings by Frequency of the Smallest Character 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双重循环 日期 题目地址:https://leetc ...

  10. anaconda 命令小览

    一 查看conda环境中安装了什么库: conda list 参考文献: 怎么查看anaconda安装了什么库?-Python学习网