一、先说结论
最终的原因是:python2.7下载错误 ,电脑是64位,我下载成32位,导致后面一系列问题.......
python-2.7.18.amd64.msi (重新下载这个包安装后解决问题)
python-2.7.18.msi (错误下载安装了这个包,导致了后面的问题)
二、问题如下:
在gitbash中执行repo,由于项目里有很多python脚本,于是执行python文件时出现如下错误:
三、解决过程
于是,Bing搜索了LookupError: unknown encoding: cp65001,也出现很多结果,但始终不能解决根本问题,只是解决了表面问题。
这里说的表面问题是:在gitbash中输入python后出现LookupError但windows的cmd不会:也就是说在gitbash中,执行python的编码总是出现问题
然而windows的命令行,却可以正常执行python脚本
Bing查了半天,一直没找到和我一摸一样的... 大家的问题是在windows命令行中出现LookupError,然后用下面的方法解决了问题。
而我用下面方法,只有方法3萌购解决表面问题(gitbash中的LookupError没有了)
//方法1 没啥用
set PYTHONIOENCODING=utf-8
//方法2 没啥用
需要将编码(UTF-8)修改为 简体中文(GBK)
在CMD窗口执行 chcp 936
//方法3 有用!
//gitbash 执行 :
alias python='winpty python.exe' //非永久
//参考链接:https://blog.csdn.net/weixin_43790276/article/details/101134900
//永久
cd ~
vim .bashrc
alias python='winpty python.exe'
//方法3后,gitbash中执行python进入交互模式不再出现LookupError: unknown encoding: cp65001
但根本问题还是会出现.... 郁闷:
四、最终解决
突然灵光一现,想到了,好像是下载python是犹豫了一下,会不会下载错误???
python2.7后面没有(64-bit),说明安装python2.7安装了32位的版本!!
草!
重新安装:64位还需要手动添加环境变量!
最终问题成功解决!
------------------
等等,这里的解决是:repo init的错误消失了,但是!后面repo sync 拉取代码的时候还是出现这个问题。
哇。我尽力重新安装python2.7 python3.9等等,都没有解决这个问题。折磨了一天时间。。。。
最终确定问题:是gitbash的bug! 然后重新下载安装了gitbash,安装时候的选项仔细读了一下,我肯定是安装git时候的一些选选个选错了,导致gitbash中不能运行python2中的库中的脚本。
我应该之前安装的git最后选择了这一项,这一项的说明:【it still has bugs】,感觉就是我的那个bug!明明gitbash中可以运行python,但是执行库中的代码就会报错,我真的是醉了。
这个问题。。。前前后后折磨我两天!啊!
博客写的有点乱,不知遇到同样问题的小伙伴能不能看明白。。。