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之变量和参数
Oct 10 Python
详谈python中冒号与逗号的区别
Apr 18 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
Python通用函数实现数组计算的方法
Jun 13 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
python适合人工智能的理由和优势
Jun 28 Python
python中bytes和str类型的区别
Oct 21 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
Python 中由 yield 实现异步操作
May 04 Python
Python DES加密实现原理及实例解析
Jul 17 Python
详解python tcp编程
Aug 24 Python
Python实现七个基本算法的实例代码
Oct 08 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编写大型网站问题集
2007/03/06 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php中JSON的使用方法
2015/04/30 PHP
可输入的下拉框
2006/06/19 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python代码实现KNN算法
2017/12/20 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
大学生职业生涯规划书前言
2014/01/09 职场文书
仓管岗位职责范本
2014/02/08 职场文书
学习决心书
2014/03/11 职场文书
应届生找工作求职信
2014/06/24 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android