Python2 和 Python3 共存于 Centos7
一、解决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的更多相关文章
- CentOS7保留默认Python版本并安装更新Python2和Python3共存
CentOS 7 默认的python版本是python2.7.5.因为yum依赖于默认的python版本的缘由,所以要先保留默认版本,并修改yum文件头部后,才能开始安装更新python2和pytho ...
- python2 和 python3共存,并且分开使用
目录 一.本文使用的python版本安装 二.安装python2 和 Python3 三.修改名称,配置环境,实现共存 1.将C:\Python36中的python.exe修改为python3.exe ...
- Windows系统配置Python环境,python2和python3共存
Windows系统配置python2和python3共存 1.下载python: https://www.python.org/downloads/ 注:选择需要的版本(python2 or ...
- Django框架,python2和python3共存的情况下,创建Django项目
一.python2和python3共存的情况下,直接使用 django-admin startproject Django-project 这个时候系统默认使用的是python2创建,可能由于pyth ...
- CentOS7 Python2 和Python3 共存(Python3安装)【转】
1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...
- Python2.*与Python3.*共存问题
安装Python 2.7后,本来在3.4下能正常使用的脚本无法运行.网上有的方法是把两个版本的主程序分别改名为python2和python3,人眼判断脚本,手输命令行执行脚本.像我这样喜欢双击.拖拽的 ...
- 用 Anaconda 完美解决 Python2 和 python3 共存问题
Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python2 的环境中,因此有时你不得不同时在两个版本中进行开发,调试. 如何在系统中同时共存 Python2 ...
- windows下 python2 和python3 共存
目前我们在国内网站上看到的两者共存的方法就是将其中一个的python.exe重命名.虽说在一定程度上可行,但存在一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用. 下面说一下具体 ...
- Python2和Python3共存,pip共存
使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份. 1.下载python3和python2 进入python官网,链接https:/ ...
随机推荐
- numpy基础教程--对数组进行水平拼接和竖直拼接
在处理数组的时候经常要用到拼接,numpy中有两个非常实用的函数,可以快捷对数组进行拼接 1.hstack(tup)函数可以接收维度相同的数组,进行水平拼接. 2.vstack(tup)用来竖直拼接 ...
- Jenkins远程发布制品
目录 一.简介 二.实现 一.简介 WEB服务很少会与Jenkins服务器在同一台机器,所以需要将构建好的制品包,发放到远程服务器进行部署. 二.实现 插件名:Publish over SSH 作用: ...
- centos部署golang环境
目录 一.简介 二.部署 一.简介 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布.Go 是非常年轻的一门语言,它的主要目标是"兼具 Python 等动态语 ...
- Python matplotlib绘图设置图例
一.语法简介 plt.legend(loc=2,edgecolor='red',facecolor='green',shadow='True',fontsize=10) #edgecolor 图例边框 ...
- STL 较详尽总结
STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...
- 减轻内存负担,在 pymysql 中使用 SSCursor 查询结果集较大的 SQL
前言 默认情况下,使用 pymysql 查询数据使用的游标类是 Cursor,比如: import pymysql.cursors # 连接数据库 connection = pymysql.conne ...
- 例外日期(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 日历无论怎么样自定义,只要仍是存在固化规律的,就铁定会坏事,因为人类的历史就是在大规律中掺杂着无数无规律,再由无数无规律凝 ...
- 丈量你的代码,从cloc开始
如果我想统计我当前的项目有多少代码量?行数最高的代码文件有哪些?并且排除某些目录,怎么统计?要统计出注释多少行,和代码多少行?使用cloc就行. cloc是一款使用Perl语言开发的开源代码统计工具, ...
- .NET Core基础篇之:白话管道中间件
在.Net Core中,管道往往伴随着请求一起出现.客户端发起Http请求,服务端去响应这个请求,之间的过程都在管道内进行. 举一个生活中比较常见的例子:旅游景区. 我们都知道,有些景区大门离景区很远 ...
- 关于c++、go、nodejs、python的计算性能测试,结果令人惊讶
计算性能在计算密集型的服务上,是非常重要的, 一直以为,在计算性能上,肯定是C++ > go > nodejs >= python 但测试结果却让人大跌眼镜!!! 实际的结果是: ...