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使用datetime模块计算各种时间间隔的方法
Mar 24 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
简单谈谈Python中的反转字符串问题
Oct 24 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
django如何连接已存在数据的数据库
Aug 14 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
给我一面国旗 python帮你实现
Sep 30 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
python实现银行实战系统
Feb 26 Python
Django中FilePathField字段的用法
May 21 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 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 $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
php上传文件的增强函数
2010/07/21 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
两种php实现图片上传的方法
2016/01/22 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
orm获取关联表里的属性值
2016/04/17 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
以windows service方式运行Python程序的方法
2015/06/03 Python
python3.x上post发送json数据
2018/03/04 Python
简单介绍python封装的基本知识
2019/08/10 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
浅析Python中字符串的intern机制
2020/10/03 Python
机械设计及其自动化专业推荐信
2013/10/31 职场文书
信息技术课后反思
2014/04/27 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
预备党员转正意见
2015/06/01 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
学校财务管理制度
2015/08/04 职场文书
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL