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

再之前同时安装 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  翻到最后部分

看红色圈起来的部分,发现这里面是写死了路径的,应该是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

(0)

相关推荐

  • Windows系统下多版本pip的共存问题详解

    前言 可能很多人一看到这个标题直接就关闭了,这么简单和low的问题有必要说出来吗?一看就知道是个Python的小白.如果你是这么想的话,那么就没有必要看下去了,因为对你来说也没有什么帮助. 这个问题,确实很简单,简单的不能再简单.但是在实际工作中确实会遇到. 实话说,对于经常在gentoo.archlinux这类版本上玩的人来说,完全可以不考虑这个问题.但是,你的同事或朋友却不一定与你一样. 在这里,我们要解决2个问题: 多版本pip共存问题 多版本Python共存问题 说到这里,可能会有人说直

  • Windows安装Python、pip、easy_install的方法

    安装Python 下载Python安装包 https://www.python.org/downloads/ 图形化安装 选择安装位置 这里安装至D:\Program Files (x86)\Python27 设置环境变量 将D:\Program Files (x86)\Python27;添加至PATH「注意格式」 验证安装 安装pip 下载pip安装包 https://pypi.python.org/pypi/pip#downloads 下载后安装 下载后解压,通过CMD终端进入解压的目录.通

  • windows下安装Python和pip终极图文教程

    本文希望提供傻瓜式的教程,能够令读者成功安装Python和pip. 第一步,我们先来安装Python,博主选择的版本是最新的3.4.2版本.windows下面的Python安装一般是通过软件安装包安装而不是命令行,所以我们首先要在Python的官方主页上面下载最新的Python安装包.下载地址是:https://www.python.org/downloads/ 在下载完成之后,一直点击下一步就OK了.在安装完成之后,打开控制台,输入"Python",我们能够看到下面的效果: 原因很简

  • windows及linux环境下永久修改pip镜像源的方法

    一.在windows环境下修改pip镜像源的方法(以python3.5为例) (1):在windows文件管理器中,输入 %APPDATA% (2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件 (3):在新建的pip.ini文件中输入以下内容,搞定 [global] timeout = 6000 index-url = http://pypi.douban.com/simple trusted-host = pypi.douban.com

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

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

  • Centos 升级到python3后pip 无法使用的解决方法

    一. 问题 [root@localhost local]# pip -bash: pip: command not found pip无法使用. 二. 系统环境 Centos 6.6 Python 3.5.2 三. 解决方法 设置软连接. 1.查找pip所在位置 [root@xxx local]# find / -name "pip" /Python-3.5.2/Tools/msi/pip /usr/bin/pip /usr/local/python3.5.2/bin/pip /usr

  • MySql 修改密码后的错误快速解决方法

    设置好密码后,使用数据库时出现如下错误: ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement. You must SET PASSWORD before executing this statement的解决方法 今天在MySql5.6操作时报错:You must SET PASSWORD before executing this

  • windows server2014 安装 Mysql Applying Security出错的完美解决方法

    原因就是安装一遍之后没有卸载干净. 解决这个问题需要注意以下几点: 1.手动清除以下文件确保卸载干净 1)mysql的安装目录,一般为C:/Program Files目录下. 2)mysql的数据存放目录,一般在C:/Documents and Settings/All Users/Application Data目录下(需要注意的时Application Data这个文件夹默认是隐藏的,要通过 工具->文件夹选项->查看->显示所有文件与文件夹 来设置隐藏文件可见). 3)除注册表数据

  • Win2008中安装的MSSQL2005后无法访问的解决方法

    很久笔者没有来这里写东西了,因为真的很忙. 最近笔者一直在使用Win2008系统,不过发现一个很奇怪的问题,那就是在该系统上安装了SQL2005后,再在其他计算机访问该主机显示不能访问. 其他主机上也安装了SQL2005,可是连接Win2008系统上的SQL时就出现了这样的报错信息. 当时笔者很困惑,是为什么? 因为Win2003系统中,从来不会有这样的问题发生. 笔者错误的任务,是Win2008系统和SQL2005系统的不兼容,或者有不匹配的问题导致了这样的问题发生. 经过很长时间的想法,笔者

  • Windows下安装python MySQLdb遇到的问题及解决方法

    片头语:因为工作需要,在CentOS上搭建环境MySQL+Python+MySQLdb,个人比较习惯使用Windows系统的操作习惯,对纯字符的OS暂时还不太习惯,所以,希望能在Windows系统上也搭建一个类似的环境,用于开发.下面介绍的是在Windows环境下编译MySQLdb的过程.补充一句:最近在网上搜索到一个MySQLdb的Windows安装包,使用起来会更方便一些,地址:http://www.codegood.com/archives/4 或者到 http://www.jb51.ne

  • Mysql安装 Navicat 出现1044/1045错误的解决方法

    in Navicat for MySQL,PostgreSQL and Oracle 产生错误的原因是mysql帐户连接到远程mysql服务器没有足够的权限. mysql安装后默认仅允许"localhost"连接.因此多数服务器端的脚本程序很容易连接到本地服务器的本地数据库.客户端计算机被远程服务器阻止直到配置好用户权限. 如果您想从您的桌面访问远程mysql服务器,首先需要知道mysql系统工作的权限. 用户信息存储在名字为"mysql"数据库的user, db,

  • pip安装python库时报Failed building wheel for xxx错误的解决方法

    目录 一.问题描述 二.解决办法 1. 下载并安装对应的 .whl 文件 2. 安装 .whl 文件 总结 一.问题描述 如题,在使用pip install xxx的方法安装python库,或者是基于python的软件时,报错“ERROR: Failed building wheel for xxx(某个库)” 这个报错信息表明缺少了相应的 .whl 文件 二.解决办法 1. 下载并安装对应的 .whl 文件 下载地址:https://www.lfd.uci.edu/~gohlke/python

  • 完美解决安装完tensorflow后pip无法使用的问题

    Win8,ANACONDA3(64-bit),Python3.6.2.ANACONDA Prompt中不能用pip命令安装包,并且是在安装了TensorFlow后才发生的. 报错如下: F:\360Downloads>pip install --upgrade pip Exception: Traceback (most recent call last): File "E:\tools\anaconda\py3\lib\site-packages\pip\basecommand.py&q

  • 同时安装Python2 & Python3 cmd下版本自由选择的方法

    系统:win7 python2.7,python3.6同时安装,于是问题来了,python27与python36文件夹下的文件名都是python.exe 这样在cmd下,直接输入python,自动执行python27 搜索了网上的解决方案,大多是将两个python.exe改名,分别改为python2,python3加以区别 但是这样会造成很多问题,比如运行IDLE时,python27会自动重建一个python.exe文件...也就是说之前改了也白改 最后找到一个合理的解决方案:使用python自

随机推荐