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解析XML的四种方式
Mar 30 Python
Python将8位的图片转为24位的图片实现方法
Oct 24 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
python制作图片缩略图
Apr 30 Python
Python3常用内置方法代码实例
Nov 18 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
Python打印不合法的文件名
Jul 31 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
python 爬虫如何实现百度翻译
Nov 16 Python
python读写数据读写csv文件(pandas用法)
Dec 14 Python
利用python查看数组中的所有元素是否相同
Jan 08 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
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
php限制ip地址范围的方法
2015/03/31 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
jQuery AjaxQueue改进步骤
2011/10/06 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
后勤部长岗位职责
2013/12/14 职场文书
社区服务活动小结
2014/07/08 职场文书
药店促销活动总结
2014/07/10 职场文书
化工见习报告范文
2014/10/31 职场文书
建国大业电影观后感
2015/06/01 职场文书