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脚本生成Android SALT扰码的方法
Sep 18 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
Python断言assert的用法代码解析
Feb 03 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
Python csv模块使用方法代码实例
Aug 29 Python
pytorch中的自定义数据处理详解
Jan 06 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
解决python运行效率不高的问题
Jul 20 Python
python实现图片九宫格分割的示例
Apr 25 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
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
prototype 学习笔记整理
2009/07/17 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
python简单操作excle的方法
2018/09/12 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
python数据挖掘需要学的内容
2019/06/23 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Python @property及getter setter原理详解
2020/03/31 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
创业计划书如何编写
2014/02/06 职场文书
软件售后服务方案
2014/05/29 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
python 爬取华为应用市场评论
2021/05/29 Python