Hello guys,

I have a problem installing 2 modules on pypy and contacting you to find a solution. The issue is this:
I am trying to pip install the python-binance module and discum module on pypy3, either with a virtual environment or in pypy folder with root. In both cases I get errors and the installation fails. That is what happens on the binance case :
(pypy-venv) root@ubuntu-01:~/pypy-venv# pip install python-binance
Collecting python-binance
  Using cached python_binance-1.0.15-py2.py3-none-any.whl (63 kB)
Requirement already satisfied: requests in ./site-packages (from python-binance) (2.26.0)
Requirement already satisfied: six in ./site-packages (from python-binance) (1.16.0)
Collecting dateparser
  Using cached dateparser-1.1.0-py2.py3-none-any.whl (288 kB)
Collecting aiohttp
  Using cached aiohttp-3.7.4.post0-py3-none-any.whl
Collecting ujson
  Using cached ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45 kB)
Collecting websockets==9.1
  Using cached websockets-9.1-pp37-pypy37_pp73-linux_x86_64.whl
Collecting async-timeout<4.0,>=3.0
  Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting attrs>=17.3.0
  Using cached attrs-21.2.0-py2.py3-none-any.whl (53 kB)
Collecting chardet<5.0,>=2.0
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Requirement already satisfied: multidict<7.0,>=4.5 in ./site-packages (from aiohttp->python-binance) (5.2.0)
Requirement already satisfied: typing-extensions>=3.6.5 in ./site-packages (from aiohttp->python-binance) (3.10.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in ./site-packages (from aiohttp->python-binance) (1.7.0)
Collecting python-dateutil
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting pytz
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting regex!=2019.02.19,!=2021.8.27
  Using cached regex-2021.10.8.tar.gz (703 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: tzlocal in ./site-packages (from dateparser->python-binance) (3.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./site-packages (from requests->python-binance) (1.26.7)
Requirement already satisfied: certifi>=2017.4.17 in ./site-packages (from requests->python-binance) (2021.10.8)
Requirement already satisfied: charset-normalizer~=2.0.0 in ./site-packages (from requests->python-binance) (2.0.7)
Requirement already satisfied: idna<4,>=2.5 in ./site-packages (from requests->python-binance) (3.3)
Requirement already satisfied: backports.zoneinfo in ./site-packages (from tzlocal->dateparser->python-binance) (0.2.1)
Building wheels for collected packages: regex
  Building wheel for regex (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/pypy-venv/bin/pypy3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-g_psatn6
       cwd: /tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/
  Complete output (20 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.7
  creating build/lib.linux-x86_64-3.7/regex
  copying regex_3/__init__.py -> build/lib.linux-x86_64-3.7/regex
  copying regex_3/regex.py -> build/lib.linux-x86_64-3.7/regex
  copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.7/regex
  copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.7/regex
  running build_ext
  building 'regex._regex' extension
  creating build/temp.linux-x86_64-3.7
  creating build/temp.linux-x86_64-3.7/regex_3
  gcc -pthread -DNDEBUG -O2 -fPIC -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c regex_3/_regex.c -o build/temp.linux-x86_64-3.7/regex_3/_regex.o
  regex_3/_regex.c:50:10: fatal error: Python.h: No such file or directory
     50 | #include "Python.h"
        |          ^~~~~~~~~~
  compilation terminated.
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for regex
  Running setup.py clean for regex
Failed to build regex
Installing collected packages: regex, pytz, python-dateutil, chardet, attrs, async-timeout, websockets, ujson, dateparser, aiohttp, python-binance
    Running setup.py install for regex ... error
    ERROR: Command errored out with exit status 1:
     command: /root/pypy-venv/bin/pypy3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-m0u1723b/install-record.txt --single-version-externally-managed --compile --install-headers /root/pypy-venv/include/site/python3.7/regex
         cwd: /tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/
    Complete output (20 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/regex
    copying regex_3/__init__.py -> build/lib.linux-x86_64-3.7/regex
    copying regex_3/regex.py -> build/lib.linux-x86_64-3.7/regex
    copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.7/regex
    copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.7/regex
    running build_ext
    building 'regex._regex' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/regex_3
    gcc -pthread -DNDEBUG -O2 -fPIC -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c regex_3/_regex.c -o build/temp.linux-x86_64-3.7/regex_3/_regex.o
    regex_3/_regex.c:50:10: fatal error: Python.h: No such file or directory
       50 | #include "Python.h"
          |          ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /root/pypy-venv/bin/pypy3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rrzjoxgs/regex_315e3789d15b49399e752eab71aee554/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-m0u1723b/install-record.txt --single-version-externally-managed --compile --install-headers /root/pypy-venv/include/site/python3.7/regex Check the logs for full command output.

And in the case of discum I get this:

(pypy-venv) root@ubuntu-01:~/pypy-venv# pip install discum
Collecting discum
  Using cached discum-1.1.0-py3-none-any.whl (52 kB)
Requirement already satisfied: requests in ./site-packages (from discum) (2.26.0)
Requirement already satisfied: requests-toolbelt in ./site-packages (from discum) (0.9.1)
Collecting brotli
  Using cached Brotli-1.0.9.zip (510 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: filetype in ./site-packages (from discum) (1.0.8)
Requirement already satisfied: websocket-client in ./site-packages (from discum) (1.2.1)
Requirement already satisfied: ua-parser in ./site-packages (from discum) (0.10.0)
Requirement already satisfied: random-user-agent in ./site-packages (from discum) (1.0.1)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./site-packages (from requests->discum) (1.26.7)
Requirement already satisfied: certifi>=2017.4.17 in ./site-packages (from requests->discum) (2021.10.8)
Requirement already satisfied: charset-normalizer~=2.0.0 in ./site-packages (from requests->discum) (2.0.7)
Requirement already satisfied: idna<4,>=2.5 in ./site-packages (from requests->discum) (3.3)
Building wheels for collected packages: brotli
  Building wheel for brotli (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /root/pypy-venv/bin/pypy3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/setup.py'"'"'; __file__='"'"'/tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-xj_3eywg
       cwd: /tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/
  Complete output (51 lines):
  /root/pypy-venv/site-packages/setuptools/dist.py:720: UserWarning: Usage of dash-separated 'build-base' will not be supported in future versions. Please use the underscore name 'build_base' instead
    % (opt, underscore_opt)
  running bdist_wheel
  running build
  running build_py
  creating bin
  creating bin/lib.linux-x86_64-3.7
  copying python/brotli.py -> bin/lib.linux-x86_64-3.7
  running build_ext
  building '_brotli' extension
  creating bin/temp.linux-x86_64-3.7
  creating bin/temp.linux-x86_64-3.7/c
  creating bin/temp.linux-x86_64-3.7/c/common
  creating bin/temp.linux-x86_64-3.7/c/dec
  creating bin/temp.linux-x86_64-3.7/c/enc
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/constants.c -o bin/temp.linux-x86_64-3.7/c/common/constants.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/context.c -o bin/temp.linux-x86_64-3.7/c/common/context.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/dictionary.c -o bin/temp.linux-x86_64-3.7/c/common/dictionary.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/platform.c -o bin/temp.linux-x86_64-3.7/c/common/platform.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/transform.c -o bin/temp.linux-x86_64-3.7/c/common/transform.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/bit_reader.c -o bin/temp.linux-x86_64-3.7/c/dec/bit_reader.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/decode.c -o bin/temp.linux-x86_64-3.7/c/dec/decode.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/huffman.c -o bin/temp.linux-x86_64-3.7/c/dec/huffman.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/state.c -o bin/temp.linux-x86_64-3.7/c/dec/state.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/backward_references.c -o bin/temp.linux-x86_64-3.7/c/enc/backward_references.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/backward_references_hq.c -o bin/temp.linux-x86_64-3.7/c/enc/backward_references_hq.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/bit_cost.c -o bin/temp.linux-x86_64-3.7/c/enc/bit_cost.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/block_splitter.c -o bin/temp.linux-x86_64-3.7/c/enc/block_splitter.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/brotli_bit_stream.c -o bin/temp.linux-x86_64-3.7/c/enc/brotli_bit_stream.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/cluster.c -o bin/temp.linux-x86_64-3.7/c/enc/cluster.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/command.c -o bin/temp.linux-x86_64-3.7/c/enc/command.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/compress_fragment.c -o bin/temp.linux-x86_64-3.7/c/enc/compress_fragment.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/compress_fragment_two_pass.c -o bin/temp.linux-x86_64-3.7/c/enc/compress_fragment_two_pass.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/dictionary_hash.c -o bin/temp.linux-x86_64-3.7/c/enc/dictionary_hash.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/encode.c -o bin/temp.linux-x86_64-3.7/c/enc/encode.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/encoder_dict.c -o bin/temp.linux-x86_64-3.7/c/enc/encoder_dict.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/entropy_encode.c -o bin/temp.linux-x86_64-3.7/c/enc/entropy_encode.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/fast_log.c -o bin/temp.linux-x86_64-3.7/c/enc/fast_log.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/histogram.c -o bin/temp.linux-x86_64-3.7/c/enc/histogram.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/literal_cost.c -o bin/temp.linux-x86_64-3.7/c/enc/literal_cost.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/memory.c -o bin/temp.linux-x86_64-3.7/c/enc/memory.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/metablock.c -o bin/temp.linux-x86_64-3.7/c/enc/metablock.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/static_dict.c -o bin/temp.linux-x86_64-3.7/c/enc/static_dict.o
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/utf8_util.c -o bin/temp.linux-x86_64-3.7/c/enc/utf8_util.o
  creating bin/temp.linux-x86_64-3.7/python
  gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c python/_brotli.cc -o bin/temp.linux-x86_64-3.7/python/_brotli.o
  python/_brotli.cc:2:10: fatal error: Python.h: No such file or directory
      2 | #include <Python.h>
        |          ^~~~~~~~~~
  compilation terminated.
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for brotli
  Running setup.py clean for brotli
Failed to build brotli
Installing collected packages: brotli, discum
    Running setup.py install for brotli ... error
    ERROR: Command errored out with exit status 1:
     command: /root/pypy-venv/bin/pypy3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/setup.py'"'"'; __file__='"'"'/tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dk6qnjak/install-record.txt --single-version-externally-managed --compile --install-headers /root/pypy-venv/include/site/python3.7/brotli
         cwd: /tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/
    Complete output (51 lines):
    /root/pypy-venv/site-packages/setuptools/dist.py:720: UserWarning: Usage of dash-separated 'build-base' will not be supported in future versions. Please use the underscore name 'build_base' instead
      % (opt, underscore_opt)
    running install
    running build
    running build_py
    creating bin
    creating bin/lib.linux-x86_64-3.7
    copying python/brotli.py -> bin/lib.linux-x86_64-3.7
    running build_ext
    building '_brotli' extension
    creating bin/temp.linux-x86_64-3.7
    creating bin/temp.linux-x86_64-3.7/c
    creating bin/temp.linux-x86_64-3.7/c/common
    creating bin/temp.linux-x86_64-3.7/c/dec
    creating bin/temp.linux-x86_64-3.7/c/enc
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/constants.c -o bin/temp.linux-x86_64-3.7/c/common/constants.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/context.c -o bin/temp.linux-x86_64-3.7/c/common/context.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/dictionary.c -o bin/temp.linux-x86_64-3.7/c/common/dictionary.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/platform.c -o bin/temp.linux-x86_64-3.7/c/common/platform.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/common/transform.c -o bin/temp.linux-x86_64-3.7/c/common/transform.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/bit_reader.c -o bin/temp.linux-x86_64-3.7/c/dec/bit_reader.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/decode.c -o bin/temp.linux-x86_64-3.7/c/dec/decode.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/huffman.c -o bin/temp.linux-x86_64-3.7/c/dec/huffman.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/dec/state.c -o bin/temp.linux-x86_64-3.7/c/dec/state.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/backward_references.c -o bin/temp.linux-x86_64-3.7/c/enc/backward_references.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/backward_references_hq.c -o bin/temp.linux-x86_64-3.7/c/enc/backward_references_hq.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/bit_cost.c -o bin/temp.linux-x86_64-3.7/c/enc/bit_cost.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/block_splitter.c -o bin/temp.linux-x86_64-3.7/c/enc/block_splitter.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/brotli_bit_stream.c -o bin/temp.linux-x86_64-3.7/c/enc/brotli_bit_stream.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/cluster.c -o bin/temp.linux-x86_64-3.7/c/enc/cluster.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/command.c -o bin/temp.linux-x86_64-3.7/c/enc/command.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/compress_fragment.c -o bin/temp.linux-x86_64-3.7/c/enc/compress_fragment.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/compress_fragment_two_pass.c -o bin/temp.linux-x86_64-3.7/c/enc/compress_fragment_two_pass.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/dictionary_hash.c -o bin/temp.linux-x86_64-3.7/c/enc/dictionary_hash.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/encode.c -o bin/temp.linux-x86_64-3.7/c/enc/encode.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/encoder_dict.c -o bin/temp.linux-x86_64-3.7/c/enc/encoder_dict.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/entropy_encode.c -o bin/temp.linux-x86_64-3.7/c/enc/entropy_encode.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/fast_log.c -o bin/temp.linux-x86_64-3.7/c/enc/fast_log.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/histogram.c -o bin/temp.linux-x86_64-3.7/c/enc/histogram.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/literal_cost.c -o bin/temp.linux-x86_64-3.7/c/enc/literal_cost.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/memory.c -o bin/temp.linux-x86_64-3.7/c/enc/memory.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/metablock.c -o bin/temp.linux-x86_64-3.7/c/enc/metablock.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/static_dict.c -o bin/temp.linux-x86_64-3.7/c/enc/static_dict.o
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c c/enc/utf8_util.c -o bin/temp.linux-x86_64-3.7/c/enc/utf8_util.o
    creating bin/temp.linux-x86_64-3.7/python
    gcc -pthread -DNDEBUG -O2 -fPIC -Ic/include -I/root/pypy-venv/include -I/usr/lib/pypy3/include -c python/_brotli.cc -o bin/temp.linux-x86_64-3.7/python/_brotli.o
    python/_brotli.cc:2:10: fatal error: Python.h: No such file or directory
        2 | #include <Python.h>
          |          ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /root/pypy-venv/bin/pypy3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/setup.py'"'"'; __file__='"'"'/tmp/pip-install-eqv3vkyi/brotli_4726248b5b3440c6b70b40e51592e1b0/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dk6qnjak/install-record.txt --single-version-externally-managed --compile --install-headers /root/pypy-venv/include/site/python3.7/brotli Check the logs for full command output.

Any suggestions or ways to make pypy compatible with those 2 modules ?

Btw I have python-dev and everything installed, the modules get installed with pip3.9 and python3.9 commands but not on pyp, when i try pip3.7 or pip installation i just get the above errors .