supriya-project/supriya

Please target python3.7

Closed this issue · 7 comments

I am unable to install supriya on a raspberry pi buster since it uses python3.7 and the current implantation is using such features such as the walrus operator:

In [1]: import supriya
Traceback (most recent call last):

  File "/home/pi/.local/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3457, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-1-c8b24d21cf80>", line 1, in <module>
    import supriya

  File "/home/pi/tmp/supriya/supriya/__init__.py", line 50, in <module>
    from .clocks import AsyncClock, AsyncOfflineClock, Clock, OfflineClock  # noqa

  File "/home/pi/tmp/supriya/supriya/clocks/__init__.py", line 1, in <module>
    from .asynchronous import AsyncClock

  File "/home/pi/tmp/supriya/supriya/clocks/asynchronous.py", line 7, in <module>
    from .bases import BaseClock

  File "/home/pi/tmp/supriya/supriya/clocks/bases.py", line 574
    if (event_or_command := self.cancel(event_id)) is None:
                         ^
SyntaxError: invalid syntax

Would it be possible to target 3.7 to get wider use?

Can't you use the Debian Bullseye-based Raspberry PI OS? That should support Python 3.9: https://packages.debian.org/bullseye/python3.

https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/

Thanks for your response. Unfortunately, I can't because the wifi driver I'm using for a terminal tedium is only working for the legacy version. No big deal in any case.

OK, I'll look into it. There are only a handful of walrus operator uses in the library.

I'll also have a go at making the current master 3.7 compatible.

@shakfu No need. I'm almost done. See the referenced PR #248.

@shakfu I will cut a new release soon today. Let me know if you have any additional problems installing once that goes out.