SyntaxError: invalid syntax to repo init in the AOSP code

江枫思渺然 提交于 2021-02-06 12:42:06

问题


I have tried to repo init the source code Ubuntu build machine and it is successfully able to clone the code.

repo init -u git@github.com:xxx/xx_manifest.git -b xxx

Now I am trying repo init the source code in VM Ubuntu machine.

In between getting the error like below:

Traceback (most recent call last):
 File "/xxx/.repo/repo/main.py", line 56, in <module>
from subcmds.version import Version
 File "/xxx/.repo/repo/subcmds/__init__.py", line 38, in <module>
['%s' % name])
 File "/xxx/.repo/repo/subcmds/upload.py", line 27, in <module>
from hooks import RepoHook
File "/xxx/.repo/repo/hooks.py", line 472
file=sys.stderr)
    ^
 SyntaxError: invalid syntax

python version is same in build machine and vm machine 2.7.17.


回答1:


try these commands

curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
chmod a+x ~/bin/repo
python3 ~/bin/repo init -u git@....



回答2:


I just had the same issue and this resolved it for me :

  • Download last version of repo : curl https://storage.googleapis.com/git-repo-downloads/repo-1 > repo
  • Change right to make it executable : chmod a+x repo
  • Run your repo init with python3 and the "repo" you just download : python3 repo init -u git@github.com:xxx/xx_manifest.git -b xxx



回答3:


As seen in a similar error in arvestad/alv issue 1, that would be consistent with running the process with Python 2.7 instead of Python3

Double-check you Python version between:

  • your Ubuntu build machine (where the repo init works)
  • your VM Ubuntu machine (where the repo init fails)

Same error here, with the error suggesting you are executing python2 with a PYTHONPATH that's only appropriate for python3.




回答4:


I don't know exactly how this works, but i just had the same issue and this resolved it for me it seems.

https://source.android.com/setup/develop#installing-repo Dont use the legacy one, use the first one to resolve it.

Edit: It seems you also need to have python 3.6 installed on you system to have this work. You can still have update-alternatives point to python 2.7, you simply need 3.6 or newer installed.




回答5:


Just install python3 and the latest repo.

I encountered the problem too, but on Mac OS. The log is exactly the same as yours. Definitely python2 caused this problem. repo is try to run python3 files in python2 environment.

I found the this from repo docs https://gerrit.googlesource.com/git-repo/+/refs/heads/master/docs/python-support.md

So I update my repo (which located in depot_tools). Since I already have python3 installed, everything is ok now.

Hope my experience may help you.




回答6:


i have the same issue, i tried the suggestions above but i still have this issue:

anas@anas-T440:~/android_10$ repo init

Traceback (most recent call last):
  File "/home/anas/.repo/repo/main.py", line 56, in <module>
    from subcmds.version import Version
  File "/home/anas/.repo/repo/subcmds/__init__.py", line 38, in <module>
    ['%s' % name])
  File "/home/anas/.repo/repo/subcmds/upload.py", line 27, in <module>
    from hooks import RepoHook
  File "/home/anas/.repo/repo/hooks.py", line 472
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

My OS is Ubuntu 14.04, and the odd thing is that I have succeeded to download an AOSP a few days ago without any problem (and with python2.7), here are my steps:

Workdir=<my working directory path>
mkdir –p $Workdir
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > $Workdir/repo
chmod +x $Workdir/repo
mkdir –p $Workdir/aosp
cd $Workdir/aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.4_r1  (here I got the above error) 
repo sync -c


anas@anas-T440:~/android_10$ python --version
Python 2.7.6
anas@anas-T440:~/android_10$ echo $PYTHONPATH
/usr/lib/python2.7

Any tips, please?




回答7:


I have experienced the same issue on Ubuntu 18.04 during the installation of the OpenSTLinux Yocto layer with the following command:

repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.4-dunfell-mp1-20-11-12

Returns:

Get https://gerrit.googlesource.com/git-repo/clone.bundle
Get https://gerrit.googlesource.com/git-repo
remote: Counting objects: 2, done
remote: Finding sources: 100% (117/117)
remote: Total 117 (delta 63), reused 117 (delta 63)
Receiving objects: 100% (117/117), 142.25 KiB | 11.85 MiB/s, done.
Resolving deltas: 100% (63/63), completed with 32 local objects.
From https://gerrit.googlesource.com/git-repo
   1469c28..0588f3d  main       -> origin/main
 * [new tag]         v2.11      -> v2.11
 * [new tag]         v2.11.1    -> v2.11.1
Traceback (most recent call last):
  File "/home/xxx/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-11-12/.repo/repo/main.py", line 56, in <module>
    from subcmds.version import Version
  File "/home/xxx/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-11-12/.repo/repo/subcmds/__init__.py", line 38, in <module>
    ['%s' % name])
  File "/home/xxx/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-11-12/.repo/repo/subcmds/upload.py", line 27, in <module>
    from hooks import RepoHook
  File "/home/xxx/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-11-12/.repo/repo/hooks.py", line 472
    file=sys.stderr)

This issue goes away with using Python3 instead of Python (2.7). You can do this:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python


来源:https://stackoverflow.com/questions/65193998/syntaxerror-invalid-syntax-to-repo-init-in-the-aosp-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!