Jazzy
Jazzy

Reputation: 344

Determining the issue regarding python versions for running repo init

When I am using repo init to initialize some repo from a source, I keep getting:

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

The following are the python versions I have:

python -V -> 2.7
python3 -V -> 3.6

According to this link, python 3.6 is required starting with repo-1.14 but I'm not certain if that's what my repo version is - didn't have any luck finding a way around determining the version.

Upvotes: 1

Views: 3664

Answers (1)

Foldalake
Foldalake

Reputation: 15

Looks like you are running an old repo launcher script version that is incompatible with the latest repo version. To fix this, download the latest repo launcher python script from Google and replace your outdated one.

The launcher script is the executable python script called "repo" and is located in your PATH, usually ~/bin (according to Google's instructions) or ~/.local/bin/. To find out where yours is located, type which repo in the terminal and it will print the script's location.

Let's say your repo script is in ~/bin. To download the script (and make it executable), you can do:

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Also, you do not need to remove Python 2.7 for repo to work. I use Ubuntu 18.04 and have both Python 2.7 and 3.6 installed as well, and repo runs fine.

Upvotes: 1

Related Questions