pip install failing for pypy3.11

オープン
#122 コメント 0 件 リアクション 3 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
python
領域
build-system

調査の方向性

提供された Docker コマンドで失敗を再現し、commit e265ae0 からのインストールと比較します。release 0.6.4 が生成された C ファイルをどのようにバンドルしているかを調査し、release が Cython 3.1 を使用していることを確認します。指定された PyPy 3.11 イメージで pip install httptools==0.6.4 が成功すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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]
主要言語
Python
スター
1.3k
フォーク
107
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MagicStack/httptools のほかの issue

MagicStack/httptools の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。