ADSBexchange / feedclient

Feed ADS-B Exchange using an existing receiver running readsb / dump1090 / piaware / Raspbian / Linux
MIT License
74 stars 22 forks source link

Ubuntu 24.04 / Debian Trixy #15

Open Tmx666 opened 4 months ago

Tmx666 commented 4 months ago

Won’t install mlat client on either of these OS’s as they have a different set of Python Libraries I believe 24.04 / Trixir use Python 3.12 which makes the mlat client not compatible

Tmx666 commented 4 months ago

It makes a call for Setup tools import setup which calls as a module not found error no module named setuptools

PeterWem commented 4 months ago

Same error after my OS was updated from Ubuntu 23.10 to 24.04. I have Setuptools installed.

Installing mlat-client to virtual environment

34
36
38
Traceback (most recent call last):
  File "/usr/local/share/adsbexchange/mlat-client-git/setup.py", line 25, in <module>
    from setuptools import setup, Extension
ModuleNotFoundError: No module named 'setuptools'
48
50
60
70
readsb version: 3.14.1631 adsbexchange git: eea98b1 (committed: Mon Jun 17 09:18:43 2024 -0700)

$ sudo apt install python3-setuptools

python3-setuptools is already the newest version (68.1.2-2ubuntu1).

walkure commented 3 months ago

At Python 3.12 , There're two breaking changes affected to this issue.

Also, at the venv, system-wide site libraries are hidden by default. (Therefore, cannot see libraries installed by apt are invisible on the venv). So, I've added the statementpip3 install setuptools pyasyncore before python3 setup.py build and successfully installed and running at Ubuntu 24.04.1. https://github.com/ADSBexchange/feedclient/blob/643e7ba93e445435e1037406edf9d1e53e24d57b/update.sh#L221

I don't know if this will happen if we install manually setuptools and pyasyncore on below Python 3.12. I think it is necessary to check the Python version instead of simply adding the statement above.

PeterWem commented 2 months ago

At Python 3.12 , There're two breaking changes affected to this issue.

* Do not pre-install setuptools in virtual environments created with [venv](https://docs.python.org/3.12/library/venv.html#module-venv).

* [asyncore](https://docs.python.org/3.12/whatsnew/3.12.html#asynchat-and-asyncore) is removed from the standard library. ( mlat-client requires `asyncore` ).

Also, at the venv, system-wide site libraries are hidden by default. (Therefore, cannot see libraries installed by apt are invisible on the venv). So, I've added the statementpip3 install setuptools pyasyncore before python3 setup.py build and successfully installed and running at Ubuntu 24.04.1.

https://github.com/ADSBexchange/feedclient/blob/643e7ba93e445435e1037406edf9d1e53e24d57b/update.sh#L221

I don't know if this will happen if we install manually setuptools and pyasyncore on below Python 3.12. I think it is necessary to check the Python version instead of simply adding the statement above.

Yes! Thank you! I have created a fork and added your statement. I am back running MLAT now.