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读取环境变量的方法和自定义类分享
Nov 22 Python
Python实用日期时间处理方法汇总
May 09 Python
如何将python中的List转化成dictionary
Aug 15 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
python钉钉机器人运维脚本监控实例
Feb 20 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
python小项目之五子棋游戏
Dec 26 Python
Python中SQLite如何使用
May 27 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
Python-split()函数实例用法讲解
Dec 18 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 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
天津市收音机工业发展史
2021/03/04 无线电
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
php连接数据库代码应用分析
2011/05/29 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
Vue.use源码分析
2017/04/22 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
24式加速你的Python(小结)
2019/06/13 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
利用python在excel中画图的实现方法
2020/03/17 Python
Python timeit模块原理及使用方法
2020/10/10 Python
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
党校自我鉴定范文
2013/10/02 职场文书
日语专业毕业生自荐信
2013/11/11 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
公司门卫管理制度
2014/02/01 职场文书
房地产开盘策划方案
2014/02/10 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
解放思想演讲稿
2014/09/11 职场文书
个人收入证明模板
2014/09/18 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
教师求职信怎么写
2015/03/20 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
基于Python实现射击小游戏的制作
2022/04/06 Python
Python matplotlib绘制雷达图
2022/04/13 Python