MagicStack / httptools

Fast HTTP parser
MIT License
1.18k stars 76 forks source link

Fails when installing with pypy3 #16

Open mrkaspa opened 7 years ago

mrkaspa commented 7 years ago

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/
stonebig commented 2 years ago

hi. I would suppose situation is different now:

======================================================================
FAIL: test_parser_request_4 (test_parser.TestRequestParser)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\WinP\bd38\buPyPy\WPy64-38122b3\notebooks\docs\test_parser.py", line 452, in test_parser_request_4
    p.feed_data('POST  HTTP/1.2')
TypeError: 'str' does not have the buffer interface

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "....WPy64-38122b3\notebooks\docs\test_parser.py", line 452, in test_parser_request_4
    p.feed_data('POST  HTTP/1.2')
AssertionError: "a bytes-like object" does not match "'str' does not have the buffer interface"

======================================================================
FAIL: test_parser_response_2 (test_parser.TestResponseParser)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "....WPy64-38122b3\notebooks\docs\test_parser.py", line 114, in test_parser_response_2
    httptools.HttpResponseParser(None).feed_data('')
TypeError: 'str' does not have the buffer interface

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "....WPy64-38122b3\notebooks\docs\test_parser.py", line 114, in test_parser_response_2
    httptools.HttpResponseParser(None).feed_data('')
AssertionError: "a bytes-like object" does not match "'str' does not have the buffer interface"

======================================================================
FAIL: test_parser_url_10 (test_parser.TestUrlParser)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "....WPy64-38122b3\notebooks\docs\test_parser.py", line 629, in test_parser_url_10
    self.parse('dsf://aaa')
TypeError: 'str' does not have the buffer interface

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "....WPy64-38122b3\notebooks\docs\test_parser.py", line 629, in test_parser_url_10
    self.parse('dsf://aaa')
AssertionError: "a bytes-like object" does not match "'str' does not have the buffer interface"