Closed PaulDance closed 5 years ago
I'm running Python3.7 and I don't get this issue. The exception was raised inside python-mpv
so I don't have much control over it directly, but I can catch it as soon as I get it inside my code. (I can send a pull request though.) I'll be investigating on it.
I can confirm it fine works on two different configurations : ArchLinux with Python 3.7.3 and Debian Testing with Python 3.7.3rc1. Which version of Python are you using exactly ?
Yes, it runs on a Debian-like using Python 3.7.3rc1, which was weird. But when you said the library was called python-mpv
, I started investigating if I had the correct one, because upon installation, I selected mpv
. After looking up, I realised mpv
's information actually points to python-mpv
's GitHub, so I figured mpv could be an old version of python-mpv, but it would seem weird for it to be still available. Removing mpv
and replacing it by python-mpv
seemed to have fixed the issue. So everything looks good after all... my bad, I guess.
Maybe adding precisely python-mpv
as a Python library to install using pip in the installation instructions could be useful ?
Finally, should I close down this issue now that I found a solution ?
Okay my bad, I didn't update the README. I'll clean up the installation process. To install required python modules, rup pip -r requirements.txt
When executed in Python version 3.7, the asynchronous routine calls generate Exceptions like this:
When looking it up, it seems to be due to python3.7 changing the way things work in asyncio (PEP 479), thus introducing this new bug. The fix that is adviced is to surround generator yields with a try-except clause. For example:
needs to be replaced by:
Although the exception in itself seems to be raised by mpv, making the jukebox available to python3.7 shouldn't be too much of a hassle. If it is really too complex to solve yourselves, maybe consider declaring the jukebox to require python3.6 for now ?