-
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Installing Pyasyncore with Python 3.12 doesn't install Python files on Raspbian 12 #2
Comments
FYI: I was hoping I could recreate this issue on MacOS (Intel based MacBook with Python 3.12 from brew), but there |
Thannks for the report. This is strange – there's no native code involved, so the platform shouldn't matter. Regardless, I tried on an ARM based macOS laptop just now and it works fine: ~ › python -m venv .venv
~ › source .venv/bin/activate
(.venv) ~ › python --version
Python 3.12.2
(.venv) ~ › python -m pip install pyasyncore
Collecting pyasyncore
Downloading pyasyncore-1.0.3-py3-none-any.whl.metadata (3.4 kB)
Downloading pyasyncore-1.0.3-py3-none-any.whl (10 kB)
Installing collected packages: pyasyncore
Successfully installed pyasyncore-1.0.3
(.venv) ~ › python
Python 3.12.2 (main, Feb 21 2024, 20:16:56) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncore
>>> asyncore.
asyncore.EAGAIN asyncore.EPIPE asyncore.errorcode asyncore.readwrite(
[...] The only difference I can see is the file sizes involved. Your failing one is 3.8kB:
Your successful one is 10120B (~10kB):
And I get the same result:
I've not seen piwheels.org as a source before, but it looks like they are rebuilding the wheel files themselves, even when the original is architecture-independent. My guess is that they are doing this on Python < 3.12, which means the asyncore package is not actually included (see the check in This check was to make absolutely sure there is no possiblity of affecting the system Removing this would I suspect fix your issue. I'll think about whether there are any possible side-effects, but otherwise I think it's probably fine to do this. In the meantime, building from source is one option; another is to remove piwheels – the PyPI version should with without issue. |
I think we're on the right track here. There is a file root@raspberrypi:~# dpkg -l python-pip-whl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-================-============-=====================================
rc python-pip-whl 20.3.4-4+deb11u1 all Python package installer (pip wheels)
root@raspberrypi:~# dpkg --purge python-pip-whl
(Reading database ... 90152 files and directories currently installed.)
Purging configuration files for python-pip-whl (20.3.4-4+deb11u1) ...
root@raspberrypi:~# ls -l /etc/pip.conf
ls: cannot access '/etc/pip.conf': No such file or directory Now it works like expected: (venv) pi@raspberrypi:/scratch/tmp $ pip uninstall pyasyncore
Found existing installation: pyasyncore 1.0.3
Uninstalling pyasyncore-1.0.3:
Would remove:
/scratch/tmp/venv/lib/python3.12/site-packages/asyncore/*
/scratch/tmp/venv/lib/python3.12/site-packages/pyasyncore-1.0.3.dist-info/*
Proceed (Y/n)? y
Successfully uninstalled pyasyncore-1.0.3
(venv) pi@raspberrypi:/scratch/tmp $ pip install pyasyncore
Collecting pyasyncore
Downloading pyasyncore-1.0.3-py3-none-any.whl.metadata (3.4 kB)
Downloading pyasyncore-1.0.3-py3-none-any.whl (10 kB)
Installing collected packages: pyasyncore
Successfully installed pyasyncore-1.0.3
(venv) pi@raspberrypi:/scratch/tmp $ python
Python 3.12.2 (main, Feb 17 2024, 13:29:44) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncore
>>> asyncore.
asyncore.EAGAIN asyncore.EPIPE asyncore.errorcode asyncore.readwrite(
etc. This particular Pi has been through at least two Raspbian dist upgrades, the Thanks for your help! |
I've just released version 1.0.4, which includes this change. Thanks for the help! |
Installing pyasyncore with Python3.12 doesn't install any files on Raspbian 12.
OS release:
pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm
How to reproduce:
A workaround is to tell pip to install no binaries:
The workaround makes sure that pip doesn't try to download binary wheels but builds a wheel locally. It looks like there is no binary wheel for Raspbian 12 uploaded to Pypi (Iooking at the locally generated wheels it should be a
cp312-cp312-linux_armv7l
type wheel).The text was updated successfully, but these errors were encountered: