MagicStack / MagicStack/httptools

Fails when installing with pypy3

未关闭
#16 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
1.3k
派生
107
PR 合并指标
30 天内没有已合并 PR

描述

I got this stack trace

Collecting sanic
  Using cached sanic-0.5.4-py3-none-any.whl
Requirement already satisfied: aiofiles>=0.3.0 in ./.pypyenv/site-packages (from sanic)
Collecting httptools>=0.0.9 (from sanic)
  Using cached httptools-0.0.9.tar.gz
Collecting ujson>=1.35 (from sanic)
  Using cached ujson-1.35.tar.gz
Collecting uvloop>=0.5.3 (from sanic)
  Using cached uvloop-0.8.0.tar.gz
Collecting websockets>=3.2 (from sanic)
  Using cached websockets-3.3.tar.gz
Installing collected packages: httptools, ujson, uvloop, websockets, sanic
  Running setup.py install for httptools ... error
    Complete output from command /Users/mrkaspa/code/py/pylangs/.pypyenv/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/c1/m21ng1bd1yl83fcrjcf6qpxw0000gq/T/pip-build-rw46_3s6/httptools/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/c1/m21ng1bd1yl83fcrjcf6qpxw0000gq/T/pip-g3c9_py8-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/mrkaspa/code/py/pylangs/.pypyenv/include/site/python3.5/httptools:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.12-x86_64-3.5
    creating build/lib.macosx-10.12-x86_64-3.5/httptools
    copying httptools/__init__.py -> build/lib.macosx-10.12-x86_64-3.5/httptools
    creating build/lib.macosx-10.12-x86_64-3.5/httptools/parser
    copying httptools/parser/__init__.py -> build/lib.macosx-10.12-x86_64-3.5/httptools/parser
    copying httptools/parser/errors.py -> build/lib.macosx-10.12-x86_64-3.5/httptools/parser
    running egg_info
    writing httptools.egg-info/PKG-INFO
    writing dependency_links to httptools.egg-info/dependency_links.txt
    writing top-level names to httptools.egg-info/top_level.txt
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'httptools.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'httptools.egg-info/SOURCES.txt'
    copying httptools/parser/parser.c -> build/lib.macosx-10.12-x86_64-3.5/httptools/parser
    running build_ext
    building 'httptools.parser.parser' extension
    creating build/temp.macosx-10.12-x86_64-3.5
    creating build/temp.macosx-10.12-x86_64-3.5/httptools
    creating build/temp.macosx-10.12-x86_64-3.5/httptools/parser
    creating build/temp.macosx-10.12-x86_64-3.5/vendor
    creating build/temp.macosx-10.12-x86_64-3.5/vendor/http-parser
    gcc -pthread -DNDEBUG -O2 -I/usr/local/opt/openssl/include -fPIC -I/Users/mrkaspa/code/py/pylangs/.pypyenv/include -I/usr/local/Cellar/pypy3/5.7.1/libexec/include -c httptools/parser/parser.c -o build/temp.macosx-10.12-x86_64-3.5/httptools/parser/parser.o -O2
    gcc -pthread -DNDEBUG -O2 -I/usr/local/opt/openssl/include -fPIC -I/Users/mrkaspa/code/py/pylangs/.pypyenv/include -I/usr/local/Cellar/pypy3/5.7.1/libexec/include -c vendor/http-parser/http_parser.c -o build/temp.macosx-10.12-x86_64-3.5/vendor/http-parser/http_parser.o -O2
    gcc -pthread -shared -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include build/temp.macosx-10.12-x86_64-3.5/httptools/parser/parser.o build/temp.macosx-10.12-x86_64-3.5/vendor/http-parser/http_parser.o -o build/lib.macosx-10.12-x86_64-3.5/httptools/parser/parser.pypy3-57-x86_64-darwin.so
    clang: warning: argument unused during compilation: '-pthread'
    Undefined symbols for architecture x86_64:
      "_PyPyBaseObject_Type", referenced from:
          ___pyx_tp_new_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_URL in parser.o
      "_PyPyBuffer_Release", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyBytes_AS_STRING", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyBytes_FromString", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_3get_method in parser.o
      "_PyPyBytes_FromStringAndSize", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_field in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_value in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_body in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_url in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_status in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
          ...
      "_PyPyBytes_Size", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyBytes_Type", referenced from:
          ___pyx_tp_new_9httptools_6parser_6parser_URL in parser.o
      "_PyPyCFunction_NewEx", referenced from:
          _PyInit_parser in parser.o
      "_PyPyCapsule_New", referenced from:
          _PyInit_parser in parser.o
      "_PyPyCode_New", referenced from:
          _PyInit_parser in parser.o
          ___Pyx_AddTraceback in parser.o
      "_PyPyDict_GetItem", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ___pyx_pw_9httptools_6parser_6parser_18HttpResponseParser_1__init__ in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_URL in parser.o
      "_PyPyDict_GetItemString", referenced from:
          _PyInit_parser in parser.o
      "_PyPyDict_New", referenced from:
          _PyInit_parser in parser.o
      "_PyPyDict_Next", referenced from:
          ___Pyx_ParseOptionalKeywords in parser.o
      "_PyPyDict_SetItem", referenced from:
          _PyInit_parser in parser.o
      "_PyPyDict_SetItemString", referenced from:
          _PyInit_parser in parser.o
      "_PyPyDict_Size", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ___pyx_pw_9httptools_6parser_6parser_18HttpResponseParser_1__init__ in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_URL in parser.o
      "_PyPyErr_Clear", referenced from:
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__init in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ___pyx_pw_9httptools_6parser_6parser_18HttpResponseParser_1__init__ in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyErr_ExceptionMatches", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__init in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_field in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_value in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_headers_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_body in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_begin in parser.o
          ...
      "_PyPyErr_Fetch", referenced from:
          ___Pyx_GetException in parser.o
          ___pyx_tp_dealloc_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyErr_Format", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___Pyx_ImportType in parser.o
          ___Pyx_Raise in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ...
      "_PyPyErr_GetExcInfo", referenced from:
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_field in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_value in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_headers_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_body in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_begin in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_chunk_header in parser.o
          ...
      "_PyPyErr_NoMemory", referenced from:
          ___pyx_tp_new_9httptools_6parser_6parser_HttpParser in parser.o
      "_PyPyErr_NormalizeException", referenced from:
          ___Pyx_GetException in parser.o
      "_PyPyErr_Occurred", referenced from:
          _PyInit_parser in parser.o
          ___Pyx_GetException in parser.o
          ___Pyx_ParseOptionalKeywords in parser.o
      "_PyPyErr_Restore", referenced from:
          ___pyx_tp_dealloc_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyErr_SetExcInfo", referenced from:
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_field in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_header_value in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_headers_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_body in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_begin in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_chunk_header in parser.o
          ...
      "_PyPyErr_SetObject", referenced from:
          ___Pyx_Raise in parser.o
      "_PyPyErr_SetString", referenced from:
          _PyInit_parser in parser.o
          ___Pyx_Raise in parser.o
      "_PyPyErr_WarnEx", referenced from:
          _PyInit_parser in parser.o
          ___Pyx_ImportType in parser.o
      "_PyPyExc_AttributeError", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__init in parser.o
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ___pyx_pw_9httptools_6parser_6parser_18HttpResponseParser_1__init__ in parser.o
      "_PyPyExc_BaseException", referenced from:
          ___Pyx_Raise in parser.o
      "_PyPyExc_ImportError", referenced from:
          _PyInit_parser in parser.o
      "_PyPyExc_NameError", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyExc_TypeError", referenced from:
          ___Pyx_ImportType in parser.o
          ___Pyx_Raise in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ___Pyx_ParseOptionalKeywords in parser.o
          ___pyx_pw_9httptools_6parser_6parser_18HttpResponseParser_1__init__ in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_URL in parser.o
          ...
      "_PyPyExc_ValueError", referenced from:
          ___Pyx_ImportType in parser.o
      "_PyPyException_SetTraceback", referenced from:
          ___Pyx_GetException in parser.o
      "_PyPyFrame_New", referenced from:
          ___Pyx_AddTraceback in parser.o
      "_PyPyImport_AddModule", referenced from:
          _PyInit_parser in parser.o
      "_PyPyImport_GetModuleDict", referenced from:
          _PyInit_parser in parser.o
      "_PyPyImport_Import", referenced from:
          ___Pyx_ImportType in parser.o
      "_PyPyImport_ImportModuleLevelObject", referenced from:
          _PyInit_parser in parser.o
      "_PyPyList_New", referenced from:
          _PyInit_parser in parser.o
      "_PyPyList_SET_ITEM", referenced from:
          _PyInit_parser in parser.o
      "_PyPyLong_FromLong", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_5get_http_version in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_7should_keep_alive in parser.o
          ___pyx_pw_9httptools_6parser_6parser_18HttpResponseParser_3get_status_code in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyLong_FromSize_t", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyMem_Free", referenced from:
          ___pyx_tp_dealloc_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyMem_Malloc", referenced from:
          ___Pyx_AddTraceback in parser.o
          ___pyx_tp_new_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyMem_Realloc", referenced from:
          ___Pyx_AddTraceback in parser.o
      "_PyPyModule_Create2", referenced from:
          _PyInit_parser in parser.o
      "_PyPyModule_GetDict", referenced from:
          _PyInit_parser in parser.o
      "_PyPyNumber_InPlaceAdd", referenced from:
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_header_value in parser.o
      "_PyPyOS_snprintf", referenced from:
          _PyInit_parser in parser.o
          ___Pyx_ImportType in parser.o
      "_PyPyObject_Call", referenced from:
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__maybe_call_on_header in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_headers_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_body in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_begin in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_message_complete in parser.o
          ...
      "_PyPyObject_GC_UnTrack", referenced from:
          ___pyx_tp_dealloc_9httptools_6parser_6parser_HttpParser in parser.o
          ___pyx_tp_dealloc_9httptools_6parser_6parser_URL in parser.o
      "_PyPyObject_GetAttr", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__init in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___Pyx_ImportType in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_5get_http_version in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_17HttpRequestParser_1__init__ in parser.o
          ...
      "_PyPyObject_GetBuffer", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyObject_GetItem", referenced from:
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyObject_IsInstance", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyObject_IsSubclass", referenced from:
          ___Pyx_Raise in parser.o
      "_PyPyObject_IsTrue", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_7should_keep_alive in parser.o
      "_PyPyObject_SetAttr", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyObject_SetAttrString", referenced from:
          _PyInit_parser in parser.o
      "_PyPyThreadState_Get", referenced from:
          ___Pyx_AddTraceback in parser.o
      "_PyPyTraceBack_Here", referenced from:
          ___Pyx_AddTraceback in parser.o
      "_PyPyTuple_New", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__maybe_call_on_header in parser.o
          ___Pyx_Raise in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_5get_http_version in parser.o
          ___pyx_pw_9httptools_6parser_6parser_3URL_3__repr__ in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyTuple_Pack", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_body in parser.o
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_url in parser.o
          ___pyx_f_9httptools_6parser_6parser_cb_on_status in parser.o
          ___pyx_pw_9httptools_6parser_6parser_1parse_url in parser.o
      "_PyPyType_Check", referenced from:
          ___Pyx_ImportType in parser.o
          ___Pyx_Raise in parser.o
      "_PyPyType_Ready", referenced from:
          _PyInit_parser in parser.o
      "_PyPyUnicode_Check", referenced from:
          ___Pyx_ParseOptionalKeywords in parser.o
      "_PyPyUnicode_Compare", referenced from:
          ___Pyx_ParseOptionalKeywords in parser.o
      "_PyPyUnicode_Decode", referenced from:
          _PyInit_parser in parser.o
      "_PyPyUnicode_DecodeLatin1", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyUnicode_FromFormat", referenced from:
          ___Pyx_AddTraceback in parser.o
      "_PyPyUnicode_FromString", referenced from:
          ___Pyx_ImportType in parser.o
          ___Pyx_AddTraceback in parser.o
      "_PyPyUnicode_FromStringAndSize", referenced from:
          _PyInit_parser in parser.o
      "_PyPyUnicode_FromUnicode", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_9feed_data in parser.o
      "_PyPyUnicode_InternFromString", referenced from:
          _PyInit_parser in parser.o
      "_PyPy_GetVersion", referenced from:
          _PyInit_parser in parser.o
      "__PyPy_Dealloc", referenced from:
          _PyInit_parser in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__init in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__maybe_call_on_header in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_header_field in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_header_value in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_headers_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ...
      "__PyPy_NoneStruct", referenced from:
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__init in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__maybe_call_on_header in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_header_field in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_header_value in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_headers_complete in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_header in parser.o
          ___pyx_f_9httptools_6parser_6parser_10HttpParser__on_chunk_complete in parser.o
          ...
      "__PyPy_TrueStruct", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_7should_keep_alive in parser.o
      "__PyPy_ZeroStruct", referenced from:
          ___pyx_pw_9httptools_6parser_6parser_10HttpParser_7should_keep_alive in parser.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/Users/mrkaspa/code/py/pylangs/.pypyenv/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/c1/m21ng1bd1yl83fcrjcf6qpxw0000gq/T/pip-build-rw46_3s6/httptools/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/c1/m21ng1bd1yl83fcrjcf6qpxw0000gq/T/pip-g3c9_py8-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/mrkaspa/code/py/pylangs/.pypyenv/include/site/python3.5/httptools" failed with error code 1 in /private/var/folders/c1/m21ng1bd1yl83fcrjcf6qpxw0000gq/T/pip-build-rw46_3s6/httptools/

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

根据报告中的 setup.py 构建输出重现 PyPy3 安装失败,然后检查 httptools/parser 扩展的构建,以及生成的 parser.c 和 vendor/http-parser/http_parser.c。完成标准是 httptools 能够在 PyPy3 下成功安装,且不出现报告中所示的 PyPy 未定义符号错误。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
networking
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。