-
Notifications
You must be signed in to change notification settings - Fork 51
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
mopidy/install.sh: broken on Bookworm #98
Comments
there is a dirty kludge fix for now on bookworm. edit 'install.sh' and locate the lines beginning with ' $PIP_BIN install --upgrade ' edit them like so ' $PIP_BIN install --break-system-packages --upgrade ' |
Another way is to add the following line at the beginning (after #!/bin/bash) of install.sh: export PIP_BREAK_SYSTEM_PACKAGES=1 This avoids adding the break-system-option to all pip lines. |
@Gadgetoid I'd like to fix this (including playback), am I OK to go with either of the last two options? Or something else? |
|
You can if you create the venv with
I see you've deleted your original post about this, but yes, this doesn't help. Externally-managed is about not installing non-apt packages into the system Python space, Ignoring externally-managed is the |
Oh, thank you, maybe I'll try that.
don't want to post incomplete/wrong information here. Just saying "It doesn't work" without details helps no one. - Yes, I still complained about GPIO, but details would be for a different issue, probably in the according git-project. |
I appreciate the solidarity, if nothing else 😭 @kingosticks afaik The benefit of Downside of managing in a venv is that Mopidy seems to prefer apt packaging? The two mix poorly, even with I'm probably preaching to the choir here, though. And I'm not even really sure I'm answering the question you asked, or any question at all. |
I'm not sure that's an entirely fair distinction. The To distribute a system service on Debian, apt is the most sensible way. You can't really distribute a Debian system service via PyPi. We also need a way to distribute our non-Python dependency for Mopidy-Spotify, apt is how we do that. And once you've got something on apt, there's a low barrier to putting everything you can on there and enjoying the benefits of system package management. Before the changes, this all used to work pretty well (in my biased opinion). Despite the current Python-world mess, I still think apt is the best way to install as much of Mopidy as possible.
Technically it can specify and enforce the dependency. It just can't resolve it properly and yes, you get the shadowing situation. We use this flow for our development environments and it mostly works OK. However, I do agree with you and I'm not sure I would burden regular users with this more fragile/confusing setup. |
The notice for this says that the issue has been solved. However when I attempt to run the
Here is the output from
|
|
I ended up going with this to resolve the installation failures. Ironically I ran the install script 3 -4 times to figure out the problem and the mopidy.conf file ended up appending the whole config at the end every time, so it failed afterwards when I tried to start the service. I had to delete the extra config lines, but it worked just fine after that. infact the whole section on installation and config was so easy and well explained diving into the mopidy docs was like a cold shower. as an aside, it might be a good idea to add the default |
Fyi, if you've not seen, Spotty recently broke the playback library Mopidy-Spotify is now using. Fixes are coming but we're not there yet. |
Day late and a dollar short here, but I've got an installer that seems to work for a virtualenv. It's in #105 I've got no audio at the moment, so that's probably another rabbit hole to delve into. |
I don't know what the workaround might be, but the changes to Bookworm that prevent
pip
from installing packages system-wide mean it's impossible to install Mopidy plugins from pypi.That means the install script can't add essential plugins for Pirate Audio:
Mopidy-PiDi Mopidy-Local pidi-display-pil pidi-display-st7789 mopidy-raspberry-gpio
, which happens here: https://github.com/pimoroni/pirate-audio/blob/d9d7cadf1686860dcbfe42b74d34454942cba2d4/mopidy/install.sh#L126C14-L126C14Right now I don't know what the path to fixing this is, and I'm still working out how we approach virtual environments across our products.
So -
In the mean time I recommend using Raspberry Pi OS Bullseye, which you can still get from here:
http://downloads.raspberrypi.org/raspios_oldstable_full_armhf/images/raspios_oldstable_full_armhf-2023-10-10/
The text was updated successfully, but these errors were encountered: