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处理Excel文件实例代码
Jun 20 Python
Python读取word文本操作详解
Jan 22 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
python3+PyQt5泛型委托详解
Apr 24 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
Nov 15 Python
对pycharm 修改程序运行所需内存详解
Dec 03 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
PHP设计模式之观察者模式实例
2016/02/22 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
python getopt 参数处理小示例
2009/06/09 Python
python中split方法用法分析
2015/04/17 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
Python实现DDos攻击实例详解
2019/02/02 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
北大自主招生自荐信
2013/10/19 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
大学生暑期实践感言
2014/02/26 职场文书
社区助残日活动总结
2014/08/29 职场文书
2014年招生工作总结
2014/11/26 职场文书
酒店前台岗位职责
2015/04/16 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
企业安全生产检查制度
2015/08/06 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Python破解极验滑动验证码详细步骤
2021/05/21 Python