PIP出现Fatal error in launcher:

在Windows命令行下面输入pip install xxx安装包时,出现Fatal error in launcher:

看提示意思是pip.exe启动时找不到启动器。

其实pip.exe就是一个打包的py脚本,运行时会自动调用python.exe来执行内部的py脚本。

报这个错的意思呢,大概就是它找不到python.exe吧。

所以我用WinHEX打开Scripts目录下面的pip.exe,一查究竟,在文件的末尾发现的关键信息:

卧槽,这家伙竟然把python.exe的绝对路径写在了pip.exe文件里!

python for windows真TM是个智障啊!

这样的python完全不具备Portable特性!

PS:我是为了避免重装系统时重复安装python,所以把安装好的python打包到了其它目录。

把它作为一个绿色软件来执行。当然要把python目录和Scripts目录加入环境变量。

 

然后我又检查了Scripts目录下面的所有文件,几乎所有的exe和py脚本都把python.exe的绝对路径写了上去!!!

既然python.exe已经添加到了环境变量,完全没有必要使用绝对路径,所以我试着手动修改为相对路径。

如下图所示:

保存之后,再次运行pip.exe可以正常工作了。

顺便把Scripts下面的所有文件都做了相同的修改,这样基本上还是具有Portable特性了。

把python移动到任意文件夹,并添加到环境变量PATH中,都可以正常工作。

还可以写个批处理命令,临时添加环境变量,做为python的命令行工具。

把下面的内容另存为python_cmd.bat即可

@title Python
@set PATH=%PATH%%~dp0%;
@set PATH=%PATH%%~dp0%\Scripts;
@cmd /k

 

后记:为了验证这个绝对路径,我又反复多次使用安装程序安装python,都是一样的。

Scripts下面的文件是在安装的时候动态修改过的,看文件修改时间就能看出来。

其它核心文件都是2018年修改,只有这几个文件是安装的日期。

因为它们在安装的时候,就把python.exe的路径给写死进去了。

这一波操作把我惊呆了!

 

 

 

  • 15
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值