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程序设计入门(3)数组的使用
Jun 16 Python
python类继承用法实例分析
Oct 10 Python
用python 制作图片转pdf工具
Jan 30 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
python实现维吉尼亚加密法
Mar 20 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
Python输出指定字符串的方法
Feb 06 Python
Python使用re模块验证危险字符
May 21 Python
python中sklearn的pipeline模块实例详解
May 21 Python
tensorflow之读取jpg图像长和宽实例
Jun 18 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
详解anaconda安装步骤
Nov 23 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新手上路(十三)
2006/10/09 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
python使用多线程不断刷新网页的方法
2015/03/31 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
django使用xadmin的全局配置详解
2019/11/15 Python
python 实现视频 图像帧提取
2019/12/10 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
医学生个人求职信范文
2014/02/07 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
2014年资料员工作总结
2014/11/18 职场文书
2014年材料员工作总结
2014/11/19 职场文书
停水通知
2015/04/16 职场文书
趣味运动会简讯
2015/07/20 职场文书