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中使用gzip模块压缩文件的简单教程
Apr 08 Python
python机器学习库常用汇总
Nov 15 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
Python 硬币兑换问题
Jul 29 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
python中for in的用法详解
Apr 17 Python
使用keras2.0 将Merge层改为函数式
May 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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
php实现倒计时效果
2015/12/19 PHP
php代码架构的八点注意事项
2016/01/25 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
简单谈谈python的反射机制
2016/06/28 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
详解python while 函数及while和for的区别
2018/09/07 Python
pycharm 安装JPype的教程
2019/08/08 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
快速了解Python开发环境Spyder
2020/06/29 Python
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
中学门卫岗位职责
2013/12/26 职场文书
银行门卫岗位职责
2013/12/29 职场文书
幼儿园亲子活动方案
2014/01/29 职场文书
信息管理专业自荐书
2014/06/05 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
中学图书馆工作总结
2015/08/11 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers