Python SyntaxError无效语法Repo Init时出错



当我运行时

sudo repo init -u https://github.com/LineageOS/android.git -b lineage-18.1

我收到错误-

File "/home/rahul/android/lineage/.repo/repo/main.py", line 79
file=sys.stderr)
^ SyntaxError: invalid syntax

如果我在没有sudo的情况下运行上面的命令,我会得到以下错误-

/snap/git-repo/18/usr/bin/python: can't open file '/home/rahul/android/lineage/.repo/repo/main.py': [Errno 13] Permission denied

我的系统里有蟒蛇3。

知道怎么修吗?

能否使用终端上的repo --version命令检查repo的版本,并尝试重新安装repo包?也许是版本的问题。

repo version v2.21
(from https://gerrit.googlesource.com/git-repo)
(tracking refs/heads/stable)
(Wed, 26 Jan 2022 16:46:03 +0000)
repo launcher version 2.21
(from /usr/local/bin/repo)
(currently at 2.21)
repo User-Agent git-repo/2.21 (Darwin) git/2.31.1 Python/3.10.2
git 2.31.1
git User-Agent git/2.31.1 (Darwin) git-repo/2.21
Python 3.10.2 (main, Feb  2 2022, 07:36:01) [Clang 12.0.0 (clang-1200.0.32.29)]
OS Darwin 20.6.0 (Darwin Kernel Version 20.6.0: Wed Jan 12 22:22:42 PST 2022; root:xnu-7195.141.19~2/RELEASE_X86_64)
CPU x86_64 (i386)

如果在mac上:尝试brew重新安装repo,因为它应该可以工作。

看看我自己的系统(Debian 10(,系统安装的repo启动器(apt install repo(是为python 2设计的,并且需要python 2。但当你初始化一个repo时,它会从谷歌下载一个更新的版本,这个版本需要python 3,但它会被python 2环境运行,并失败。

作为一种变通方法,我一直在从谷歌下载repo的新版本:

curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo

然后用启动

python3 ~/bin/repo init ...

另请参阅:https://android.googlesource.com/tools/repo

我更喜欢一个更精简的解决方案,但在我将Linux发行版升级到包含基于Python3的repo版本之前,我不知道还有什么更好的解决方案。

相关内容

最新更新