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绘图方法实例入门
May 19 Python
十个Python程序员易犯的错误
Dec 15 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
flask session组件的使用示例
Dec 25 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 Python
keras中的卷积层&池化层的用法
May 22 Python
Python3爬虫中Splash的知识总结
Jul 10 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
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
php实现简单加入购物车功能
2017/03/07 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
vue中监听返回键问题
2019/08/28 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python下os模块强大的重命名方法renames详解
2017/03/07 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
瀑布模型都有哪些优缺点
2014/06/23 面试题
个人求职简历中英文自我评价
2013/12/16 职场文书
党校学习心得体会范文
2014/09/09 职场文书
人大代表选举标语
2014/10/07 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers
Go语言测试库testify使用学习
2022/07/23 Golang