MagicStack / MagicStack/httptools
pip install failing for pypy3.11
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.3k
- Forks
- 107
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
pip install httptools==0.6.4 fails under pypy3.11 with the log output below.
The issue is the Cython generated C files bundled with the release in pypi, similar to this one for lxml. In fact installing directly from the 0.6.4 commit works fine: pip install git+https://github.com/MagicStack/httptools@e265ae0.
The suggested fix there is to build a release with the 3.1 release of Cython which has this fix: https://github.com/cython/cython/pull/6482
how to reproduce
if you have docker, this is probably the easiest way to reproduce:
docker run -it --entrypoint=/bin/bash pypy:3.11-7.3.19 -c 'pip install httptools==0.6.4'
logs from unsuccessful install
Collecting httptools
Using cached httptools-0.6.4.tar.gz (240 kB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: httptools
Building wheel for httptools (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [39 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-pypy311
creating build/lib.linux-x86_64-pypy311/httptools
copying httptools/_version.py -> build/lib.linux-x86_64-pypy311/httptools
copying httptools/__init__.py -> build/lib.linux-x86_64-pypy311/httptools
creating build/lib.linux-x86_64-pypy311/httptools/parser
copying httptools/parser/__init__.py -> build/lib.linux-x86_64-pypy311/httptools/parser
copying httptools/parser/errors.py -> build/lib.linux-x86_64-pypy311/httptools/parser
running egg_info
writing httptools.egg-info/PKG-INFO
writing dependency_links to httptools.egg-info/dependency_links.txt
writing requirements to httptools.egg-info/requires.txt
writing top-level names to httptools.egg-info/top_level.txt
reading manifest file 'httptools.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'httptools.egg-info/SOURCES.txt'
copying httptools/parser/cparser.pxd -> build/lib.linux-x86_64-pypy311/httptools/parser
copying httptools/parser/parser.pyx -> build/lib.linux-x86_64-pypy311/httptools/parser
copying httptools/parser/python.pxd -> build/lib.linux-x86_64-pypy311/httptools/parser
copying httptools/parser/url_cparser.pxd -> build/lib.linux-x86_64-pypy311/httptools/parser
copying httptools/parser/url_parser.pyx -> build/lib.linux-x86_64-pypy311/httptools/parser
running build_ext
building 'httptools.parser.parser' extension
creating build/temp.linux-x86_64-pypy311
creating build/temp.linux-x86_64-pypy311/httptools
creating build/temp.linux-x86_64-pypy311/httptools/parser
creating build/temp.linux-x86_64-pypy311/vendor
creating build/temp.linux-x86_64-pypy311/vendor/llhttp
creating build/temp.linux-x86_64-pypy311/vendor/llhttp/src
gcc -pthread -DNDEBUG -O2 -fPIC -I/tmp/pip-install-9p4wcs3b/httptools_a1fc635d910f47dfbfa0906126b6038e/vendor/llhttp/include -I/tmp/pip-install-9p4wcs3b/httptools_a1fc635d910f47dfbfa0906126b6038e/vendor/llhttp/src -I/home/oliver/Projects/lxml/venv/include -I/usr/include/pypy3.11 -c httptools/parser/parser.c -o build/temp.linux-x86_64-pypy311/httptools/parser/parser.o -O2
httptools/parser/parser.c:15388:12: fatal error: internal/pycore_frame.h: No such file or directory
15388 | #include "internal/pycore_frame.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Fehler mit dem bereitgestellten Docker-Befehl und vergleiche ihn mit der Installation aus Commit e265ae0. Untersuche, wie das Release 0.6.4 die generierten C-Dateien bündelt, und überprüfe, dass das Release Cython 3.1 verwendet. Als erledigt gilt die Aufgabe, wenn pip install httptools==0.6.4 unter dem angegebenen PyPy 3.11-Image erfolgreich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100