Windows系统下多版本pip的共存问题详解


Posted in Python onOctober 10, 2017

前言

可能很多人一看到这个标题直接就关闭了,这么简单和low的问题有必要说出来吗?一看就知道是个Python的小白。如果你是这么想的话,那么就没有必要看下去了,因为对你来说也没有什么帮助。

这个问题,确实很简单,简单的不能再简单。但是在实际工作中确实会遇到。

实话说,对于经常在gentoo、archlinux这类版本上玩的人来说,完全可以不考虑这个问题。但是,你的同事或朋友却不一定与你一样。

在这里,我们要解决2个问题:

  • 多版本pip共存问题
  • 多版本Python共存问题

说到这里,可能会有人说直接用pyenv不就好了,省时又省力。但是,pyenv不支持Windows系统。

实话说,虽然你百度一下,确实有N篇文章说的头头是道,但是当你去实践的时候就会发现根本就是不行的。

多版本pip共存

在这里我们在一台已经安装了Python3.5.3的Windows的系统上安装Python2的版本。

安装完成后,我们切换到Python2安装目录下的Scripts目录下,将其中的pip.exe文件修改为pip27.exe或直接将其删除,然后我们运行如下的命令:

pip2 -V 
pip 8.1.1 from C:\Python27\lib\site-packages (python 2.7) 
 
pip -V 
pip 9.0.1 from C:\Python35\lib\site-packages (python 3.5)

可以看到,这样我们就解决了多版本pip共存的问题了。

多版本Python共存

下面我们来看多版本Python共存的问题。网上很多教程让我们把不同Python版本的解释器文件直接进行修改,结果Python版本是可以共存了,但是pip却无法使用了。

对于这种情况,我们有2种方式,1种是在多版本pip共存的情况下,使用如下的方式启动Python不同版本:

py -2 
py -3

这样就分别启动了Python2和Python3。

实话说,这种方式对于处女座的人来说,觉得并不是很完美。下面我们来看1种在多版本pip共存情况下实现多版本Python共存的实现。

我们直接将各个版本中的Python解释器文件python.exe复制1份,然后分别修改为python2.exe和python3.exe。

这样我们就完成了版本共存的问题了,如下图所示:

Windows系统下多版本pip的共存问题详解

在这里由于最后安装的是Python2版本,并且自动将其添加到环境变量中,因为默认输入Python时启动的是Python2。

当然,上述的问题只是其中的1种解决方式,如果套用数学的术语,只是所有解集中的1种。

对于Python这样的语言,如果只会1种方式,往往都是在打酱油的。一般情况下,同1个问题至少有2-3种的方式,选取其中最好的1种方式才是正道。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
python获取当前运行函数名称的方法实例代码
Apr 06 Python
python实现电脑自动关机
Jun 20 Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 Python
Python流程控制 if else实现解析
Sep 02 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
PyCharm下载和安装详细步骤
Dec 17 Python
python列表返回重复数据的下标
Feb 10 Python
解决python使用list()时总是报错的问题
May 05 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
python开发实时可视化仪表盘的示例
May 07 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 #Python
遗传算法之Python实现代码
Oct 10 #Python
Python使用arrow库优雅地处理时间数据详解
Oct 10 #Python
Python使用getpass库读取密码的示例
Oct 10 #Python
Python 逐行分割大txt文件的方法
Oct 10 #Python
Python输出带颜色的字符串实例
Oct 10 #Python
python中使用正则表达式的连接符示例代码
Oct 10 #Python
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
Python的in,is和id函数代码实例
2020/04/18 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
海量信息软件测试笔试题
2015/08/08 面试题
校园环保建议书
2014/05/14 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
创先争优宣传标语
2014/10/08 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
公务员考察材料范文
2014/12/23 职场文书
工程质检员岗位职责
2015/04/08 职场文书
交通事故起诉书
2015/05/19 职场文书
孟佩杰观后感
2015/06/17 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python