Failed building wheel for http-parser | http_parser/parser.c:4:10: fatal error: Python.h: No such file or directory

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

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

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
c, python
領域
build-system

調査の方向性

示されている Python 2.7 環境で、報告された pip install git+https://github.com/benoitc/http-parser コマンドを再現します。まず http_parser/parser.c と記録された拡張機能のビルドコマンドから始め、次にパッケージのビルド設定を追跡します。報告された Python.h のコンパイル失敗なしに wheel がビルドできれば完了です。

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

説明

Full log :

pip install git+https://github.com/benoitc/http-parser 
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Defaulting to user installation because normal site-packages is not writeable
Collecting git+https://github.com/benoitc/http-parser
  Cloning https://github.com/benoitc/http-parser to /tmp/pip-req-build-ilQJuJ
  Running command git clone -q https://github.com/benoitc/http-parser /tmp/pip-req-build-ilQJuJ
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: http-parser
  Building wheel for http-parser (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python2 /usr/local/lib/python2.7/dist-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmplnGbGj
       cwd: /tmp/pip-req-build-ilQJuJ
  Complete output (24 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-2.7
  creating build/lib.linux-x86_64-2.7/http_parser
  copying http_parser/_socketio.py -> build/lib.linux-x86_64-2.7/http_parser
  copying http_parser/pyparser.py -> build/lib.linux-x86_64-2.7/http_parser
  copying http_parser/util.py -> build/lib.linux-x86_64-2.7/http_parser
  copying http_parser/__init__.py -> build/lib.linux-x86_64-2.7/http_parser
  copying http_parser/http.py -> build/lib.linux-x86_64-2.7/http_parser
  copying http_parser/reader.py -> build/lib.linux-x86_64-2.7/http_parser
  running build_ext
  make: Nothing to be done for 'all'.
  building 'http_parser.parser' extension
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/http_parser
  x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-QDqKfA/python2.7-2.7.18=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Iparser -I/usr/include/python2.7 -c http_parser/http_parser.c -o build/temp.linux-x86_64-2.7/http_parser/http_parser.o
  x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-QDqKfA/python2.7-2.7.18=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Iparser -I/usr/include/python2.7 -c http_parser/parser.c -o build/temp.linux-x86_64-2.7/http_parser/parser.o
  http_parser/parser.c:4:10: fatal error: Python.h: No such file or directory
      4 | #include "Python.h"
        |          ^~~~~~~~~~
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for http-parser
Failed to build http-parser
ERROR: Could not build wheels for http-parser which use PEP 517 and cannot be installed directly

主要言語
C
スター
345
フォーク
93
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

benoitc/http-parser のほかの issue

benoitc/http-parser の issue をすべて見る

似ている issue

C の issue をもっと見る

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

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