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中线程问题的简单讲解
Apr 03 Python
Python中title()方法的使用简介
May 20 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
浅谈Python实现Apriori算法介绍
Dec 20 Python
python 批量修改/替换数据的实例
Jul 25 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
python实现百度OCR图片识别过程解析
Jan 17 Python
jupyter notebook 增加kernel教程
Apr 10 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 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异步调用socket实现代码
2012/01/12 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
Python中的一些陷阱与技巧小结
2015/07/10 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
eBay美国官网:eBay.com
2020/10/24 全球购物
error和exception有什么区别
2012/10/02 面试题
教育学专业实习生的自我鉴定
2013/11/26 职场文书
管理建议书范文
2014/05/13 职场文书
计算机求职信
2014/07/02 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python