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算法应用实战之栈详解
Feb 04 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
Python实现GIF图倒放
Jul 16 Python
运行Python编写的程序方法实例
Oct 21 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
pytorch 中nn.Dropout的使用说明
May 20 Python
pytorch中Schedule与warmup_steps的用法说明
May 24 Python
python批量创建变量并赋值操作
Jun 03 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 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
BBS(php & mysql)完整版(一)
2006/10/09 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
PDO::_construct讲解
2019/01/27 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
用ADODB.Stream转换
2007/01/22 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
[03:53]2016国际邀请赛中国区预选赛第三日TOP10精彩集锦
2016/06/29 DOTA
解决Python一行输出不显示的问题
2018/12/03 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
python实现拼图小游戏
2020/02/22 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
中医专业应届生求职信
2013/11/17 职场文书
合作协议书
2014/04/23 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers