WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法


Posted in Python onMarch 16, 2017

再之前同时安装 python 后 只需把环境变量PATH 里面改为

PATH=C:\Python36-32\Scripts\;C:\Python36-32\;C:\Python27\;C:\Python27\Scripts

然后把python3安装后的文件按照如下修改:

C:\Python36-32\Scripts\pip.exe 改为 C:\Python36-32\Scripts\pip3.exe

C:\Python36-32\python.exe 改为 C:\Python36-32\python3.exe

C:\Python36-32\pythonw.exe 改为 C:\Python36-32\pythonw3.exe

这样就可以再CMD 命令行下直接使用 python python3 pip pip3 等命令

因为最近重装系统,安装了python2 和python3的最新版本 python 2.7.13 和 python 3.6.0

按照上述修复该方法,python pip python3 命令工作正常,但 pip3 执行时显示下列错误:

Fatal error in launcher: Unable to create process using '"'

显然是建立进程时没有找到进程相关文件啊。想办法吧。

发现 C:\Python36-32\Scripts 目录下有同样图标及KB数相同的文件文件名不一样,调用的功能也不一样的几个exe文件:

easy_instal3l.exe

easy_install-3.6.exe

pip.exe

根据经验猜想这几个EXE文件其实是同一个EXE文件加上不同的资源或者在调试破解领域里叫附加资源去执行不同python 脚本,顺手用7z打开证实了我的猜想

先去google一会找pip 这个exe的源代码,找了一会儿没找到,我就直接用IDA PRO F5 ,此EXE大概逻辑是找EXE最后多少字节以 特殊符号 分割开头的一个字符串并建立进程附加参数并执行。

用HEX编辑器打开 pip.exe  翻到最后部分

WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法

看红色圈起来的部分,发现这里面是写死了路径的,应该是python安装时附加的这个字符串,OK,直接把

c:\python36-32\python.exe 改为 c:\python36-32\pytho3.exe 保存。

然后 复制 C:\Python36-32\python3.exe 改为 C:\Python36-32\pytho3.exe

你没看错,去掉了n,因为原来字符串python.exe 有10个字符,我们通常在修改EXE时为了工作正常不产生数据偏移之类的

错误要保证字符串的长度及位置,为了偷懒我直接改为 pytho3.exe  这样可以工作正常。

下一步时找到这个pip.exe “壳”的代码和 安装程序什么是偶附加这个资源,看看能不能提一个bug修复下把他变成自动获取当前exe路径的上级路径的python3的位置。

(显然python3是我重命名的,这个思路不好)

相关资源参考:

https://github.com/pypa/setuptools/blob/master/msvc-build-launcher.cmd

https://github.com/pypa/setuptools/blob/master/launcher.c

https://www.python.org/dev/peps/pep-0397/

https://bitbucket.org/pypa/distlib/src/e4339220120d334fb9030303b8e919594acb829d/PC/?at=default

Python 相关文章推荐
跟老齐学Python之编写类之四再论继承
Oct 11 Python
python提取内容关键词的方法
Mar 16 Python
Python中property属性实例解析
Feb 10 Python
python3.6+django2.0开发一套学员管理系统
Mar 03 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
神经网络相关之基础概念的讲解
Dec 29 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 Python
Elasticsearch 聚合查询和排序
Apr 19 Python
Django卸载之后重新安装的方法
Mar 15 #Python
Python json 错误xx is not JSON serializable解决办法
Mar 15 #Python
200行自定义python异步非阻塞Web框架
Mar 15 #Python
Python实现简易端口扫描器代码实例
Mar 15 #Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 #Python
Python实现Youku视频批量下载功能
Mar 14 #Python
Python实现视频下载功能
Mar 14 #Python
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
初步了解javascript面向对象
2015/11/09 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
pandas 对group进行聚合的例子
2019/12/27 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
Python实现汇率转换操作
2020/05/03 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
理工科学生的自我评价
2013/12/15 职场文书
教学大赛获奖感言
2014/01/15 职场文书
教师见习总结范文
2015/06/23 职场文书
矛盾论读书笔记
2015/06/29 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
linux目录管理方法介绍
2022/06/01 Servers