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 相关文章推荐
win与linux系统中python requests 安装
Dec 04 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 Python
Python中字典和集合学习小结
Jul 07 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
python爬取网易云音乐评论
Nov 16 Python
python3 pillow模块实现简单验证码
Oct 31 Python
Python搭建HTTP服务过程图解
Dec 14 Python
小结Python的反射机制
Sep 28 Python
用基于python的appium爬取b站直播消费记录
Apr 17 Python
Python基础之pandas数据合并
Apr 27 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 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
PHP安全防范技巧分享
2011/11/03 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
js数组操作常用方法
2014/05/08 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Django继承自带user表并重写的例子
2019/11/18 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
python中添加模块导入路径的方法
2021/02/03 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
机电一体化应届生求职信范文
2014/01/24 职场文书
大学生励志演讲稿
2014/04/25 职场文书
关于安全的演讲稿
2014/05/09 职场文书
汽车专业求职信
2014/06/05 职场文书
社会工作专业求职信
2014/07/15 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
刑事上诉状范文
2015/05/22 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL