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 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
Python http接口自动化测试框架实现方法示例
Dec 06 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
python的slice notation的特殊用法详解
Dec 27 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
Jan 24 Python
Python脚本导出为exe程序的方法
Mar 25 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 Python
编写python程序的90条建议
Apr 14 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四舍五入、取整、round函数使用示例
2015/02/06 PHP
Smarty保留变量用法分析
2016/05/23 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
Jquery ui css framework
2010/06/28 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
Python中针对函数处理的特殊方法
2014/03/06 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
Django中的cookie和session
2019/08/27 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
网游商务专员求职信
2013/10/15 职场文书
房地产管理毕业生自荐信
2013/11/04 职场文书
承诺书模板
2014/08/30 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书