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编程中对文件和存储器的读写示例
Jan 25 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
python之Socket网络编程详解
Sep 29 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
python实现猜数字小游戏
Mar 24 Python
python中使用print输出中文的方法
Jul 16 Python
python实现弹窗祝福效果
Apr 07 Python
Python实现的排列组合、破解密码算法示例
Apr 12 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
python中对列表的删除和添加方法详解
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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
JavaScript库 开发规则
2009/01/31 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
详解python实现线程安全的单例模式
2018/03/05 Python
django中media媒体路径设置的步骤
2019/11/15 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
英国领先的游戏零售商:GAME
2019/09/24 全球购物
中专生自荐信
2013/10/12 职场文书
大学生个人简历自我评价
2013/11/16 职场文书
《争吵》教学反思
2014/02/15 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
运动会拉拉队口号
2014/06/09 职场文书
课内比教学心得体会
2014/09/09 职场文书
追悼会家属答谢词
2015/09/29 职场文书
分析Python list操作为什么会错误
2021/11/17 Python
Python学习之时间包使用教程详解
2022/03/21 Python