WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法

作者:BinSys 时间:2023-07-01 11:01:00 

再之前同时安装 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

标签:python2,python3,pip
0
投稿

猜你喜欢

  • GO语言的IO方法实例小结

    2023-09-17 08:47:24
  • 网站鼠标变变变!

    2010-10-20 20:09:00
  • SQL根据指定分隔符分解字符串实现步骤

    2023-07-13 03:09:14
  • php遍历CSV类实例

    2023-11-01 23:46:26
  • PHP获取二叉树镜像的方法

    2023-07-13 02:57:39
  • SQL中JOIN和UNION区别、用法及示例介绍

    2012-08-21 10:47:22
  • python创建学生成绩管理系统

    2023-08-09 04:19:38
  • 浏览器针对单服务器连接数问题

    2008-05-12 22:27:00
  • php集成环境xampp中apache无法启动问题解决方案

    2023-07-17 22:44:52
  • Python变量、数据类型、数据类型转换相关函数用法实例详解

    2021-03-29 08:30:35
  • 视觉注意力—解剖设计的根源

    2010-01-22 15:12:00
  • python+selenium 实现扫码免密登录示例代码

    2021-02-03 06:41:57
  • 商业价值与用户价值的平衡

    2008-12-10 18:42:00
  • python数据库操作指南之PyMysql使用详解

    2023-01-02 04:04:17
  • 网站大改版=壮烈的死亡 ?

    2009-04-03 14:09:00
  • asp 自定义分段函数/求第N名成绩

    2011-03-25 11:07:00
  • javascript实现日期3级联动下拉框选择菜单

    2023-10-19 02:15:34
  • JSP安全开发之XSS漏洞详解

    2023-06-13 13:07:24
  • HTML5设计原则

    2012-04-26 16:46:45
  • [译]开发人员经常犯的8个设计错误

    2008-02-01 12:28:00
  • asp之家 网络编程 m.aspxhome.com