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 用户登录验证的小例子
Mar 06 Python
python实现杨辉三角思路
Jul 14 Python
用Python实现数据的透视表的方法
Nov 16 Python
python selenium 弹出框处理的实现
Feb 26 Python
Python进阶之@property动态属性的实现
Apr 01 Python
python三大神器之fabric使用教程
Jun 10 Python
Python爬虫JSON及JSONPath运行原理详解
Jun 04 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
python实现学生信息管理系统源码
Feb 22 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 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实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
JavaScript实现区块链
2018/03/14 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
物流仓管员工作职责
2014/01/06 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
涨价通知
2015/04/23 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书