pip install failing for pypy3.11

Ouverte
#122 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
build-system

Piste de recherche

Reproduisez l’échec avec la commande Docker fournie et comparez-le avec une installation à partir du commit e265ae0. Examinez la manière dont la release 0.6.4 regroupe les fichiers C générés et vérifiez que la release utilise Cython 3.1. C’est terminé lorsque pip install httptools==0.6.4 réussit avec l’image PyPy 3.11 spécifiée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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]
Langage dominant
Python
Étoiles
1.3k
Forks
107
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de MagicStack/httptools

Toutes les issues de MagicStack/httptools

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.