masmu / pulseaudio-dlna

A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux
GNU General Public License v3.0
1.25k stars 162 forks source link

zeroconf package dependency incompatible with Python 2.7 #394

Open gene1wood opened 4 years ago

gene1wood commented 4 years ago

Steps to reproduce

virtualenv -p python2.7 ~/venv
~/venv/bin/python ./setup.py install
~/venv/bin/pulseaudio-dlna

Result

Traceback (most recent call last):
  File "/home/jdoe/venv/pulseaudio-dlna/bin/pulseaudio-dlna", line 11, in <module>
    load_entry_point('pulseaudio-dlna==0.5.2', 'console_scripts', 'pulseaudio-dlna')()
  File "/home/jdoe/venv/pulseaudio-dlna/local/lib/python2.7/site-packages/pulseaudio_dlna-0.5.2-py2.7.egg/pulseaudio_dlna/__main__.py", line 157, in main
    import pulseaudio_dlna.application
  File "/home/jdoe/venv/pulseaudio-dlna/local/lib/python2.7/site-packages/pulseaudio_dlna-0.5.2-py2.7.egg/pulseaudio_dlna/application.py", line 35, in <module>
    import pulseaudio_dlna.plugins.chromecast
  File "/home/jdoe/venv/pulseaudio-dlna/local/lib/python2.7/site-packages/pulseaudio_dlna-0.5.2-py2.7.egg/pulseaudio_dlna/plugins/chromecast/__init__.py", line 23, in <module>
    import pulseaudio_dlna.plugins.chromecast.mdns
  File "/home/jdoe/venv/pulseaudio-dlna/local/lib/python2.7/site-packages/pulseaudio_dlna-0.5.2-py2.7.egg/pulseaudio_dlna/plugins/chromecast/mdns.py", line 23, in <module>
    import zeroconf
  File "/home/jdoe/venv/pulseaudio-dlna/local/lib/python2.7/site-packages/zeroconf-0.24.5-py2.7.egg/zeroconf/__init__.py", line 212
    def current_time_millis() -> float:
                              ^
SyntaxError: invalid syntax

Cause

Python-zeroconf dropped support for Python2.7 in version 0.20.0

Solution

Change setup.py to require a version of python-zeroconf between 0.17.4 and 0.19.1

Workaround

~/venv/bin/pip install zeroconf==0.19.1