repo file=sys.stderr 错误完美解决

  • Post author:
  • Post category:其他


repo 仓库的

file=sys.stderr

这个也是最最最多见的错误

我搜了很久才找到完美解决方案

首先这个问题是由于python的版本导致的

我们高版本的ubuntu是默认python3.x的

但是输入python命令还是2.7

比如

python
Python 2.7.17 (default, Feb 27 2021, 15:10:58) 
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-8.0.0_r1
  File "/home/huruwo/ASOP_8.0_r1/.repo/repo/main.py", line 79
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

我们可以打开看看


gdeit /home/huruwo/ASOP_8.0_r1/.repo/repo/main.py

#!/usr/bin/env python3

if sys.version_info.major < 3:
  print('repo: error: Python 2 is no longer supported; '
        'Please upgrade to Python {}.{}+.'.format(*MIN_PYTHON_VERSION_SOFT),
        file=sys.stderr)
  sys.exit(1)

可以看到这里是检查了 版本

申明了python2不再支持了

解决方案 我们要把默认的python指向定位3.x而不是2.7

很多地方教我们怎么修改默认的python指向

让python打开和python3命令一样

但是我不建议这么做 不如直接使用python3启动rep的init

更换命令

python3 ~/bin/repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-8.0.0_r1

注意这里指向了文件 ~/bin/repo 而不是默认的路径



版权声明:本文为lw_zhaoritian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。