Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't install via brew as of today #36

Closed
fatg3erman opened this issue Apr 11, 2020 · 5 comments
Closed

Can't install via brew as of today #36

fatg3erman opened this issue Apr 11, 2020 · 5 comments

Comments

@fatg3erman
Copy link

Don't know if this is because something changed in Homebrew or because I just updated to Mojave but as of this morning, mopidy cannot find pygobject.

I removed Homebrew and reinstalled, and what seems to be happeneing is that, at some point, python3.8 is being pulled in. PyGobject gets installed for python3.8. Mopidy looks like it's hard-coded to use python3.7. Running 'python3' from the command line runs python 3.7.7 too so it looks like it must be something in the pygobject formula that is forcing it to install for python3.8

I also can't manually pip3 install pygobject for python3.7, it just gives me a load of errors from wheel that I don't understand.

@jodal
Copy link
Member

jodal commented Apr 11, 2020

I can reproduce, simply by running brew upgrade. Running mopidy prints this stack trace:

Traceback (most recent call last):
  File "/usr/local/bin/mopidy", line 11, in <module>
    load_entry_point('Mopidy==3.0.2', 'console_scripts', 'mopidy')()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2855, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2446, in load
    return self.resolve()
  File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2452, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/Cellar/mopidy/3.0.2/libexec/lib/python3.7/site-packages/mopidy/__main__.py", line 7, in <module>
    from mopidy import commands
  File "/usr/local/Cellar/mopidy/3.0.2/libexec/lib/python3.7/site-packages/mopidy/commands.py", line 15, in <module>
    from mopidy.audio import Audio
  File "/usr/local/Cellar/mopidy/3.0.2/libexec/lib/python3.7/site-packages/mopidy/audio/__init__.py", line 2, in <module>
    from .actor import Audio
  File "/usr/local/Cellar/mopidy/3.0.2/libexec/lib/python3.7/site-packages/mopidy/audio/actor.py", line 8, in <module>
    from mopidy.audio import tags as tags_lib
  File "/usr/local/Cellar/mopidy/3.0.2/libexec/lib/python3.7/site-packages/mopidy/audio/tags.py", line 7, in <module>
    from mopidy.internal.gi import GLib, Gst
  File "/usr/local/Cellar/mopidy/3.0.2/libexec/lib/python3.7/site-packages/mopidy/internal/gi.py", line 7, in <module>
    gi.require_version("Gst", "1.0")
AttributeError: module 'gi' has no attribute 'require_version'

As one can see from the first line of the mopidy executable, it is set up to run with Python 3.7:

$ which mopidy
/usr/local/bin/mopidy
$ head -1 $(which mopidy)
#!/usr/local/opt/python/bin/python3.7

Forcing a reinstall of Mopidy with brew reinstall mopidy does not seem to change this.

There's nothing hard-coded to use Python 3.7 in the Mopidy formula. The culprit seems to be the use of system "python3" which still points to Python 3.7.7:

$ python3 --version
Python 3.7.7

@jodal
Copy link
Member

jodal commented Apr 11, 2020

There's more background in Homebrew/homebrew-core#47274 which tracks their ongoing migration from Python 3.7 to 3.8.

The Homebrew/homebrew-core#47326 PR contains a bunch of migrations could serve as inspiration for fixing the Mopidy formulas to use Python 3.8 instead.

@jodal jodal closed this as completed in c4a7b0f Apr 11, 2020
@jodal
Copy link
Member

jodal commented Apr 11, 2020

I've attempted to migrate the Mopidy formulas to Python 3.8 too. I haven't had the chance to test on a clean system, so I'm very interested in hearing if a regular brew update && brew upgrade is enough to make it work for you again.

@fatg3erman
Copy link
Author

brew update followed by brew upgrade have fixed the brew installed mopidy for sure.

My development virtualenv is still looking for python 3.7, but I guess I just need to set that up again?

@jodal
Copy link
Member

jodal commented Apr 11, 2020

Yeah, though there's nothing wrong with staying with Python 3.7 for development, as that'll be our minimum version at least until sometime in 2021, when Debian will probably ship another stable release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants