PIP error when installing modules on venv that are required to install pyproject.toml-based projects

Question:

I am making a discord bot in python using the hikari library. I tried installing the library onto a virtual environment with the command:

python3 -m pip install hikari

When I run the command in the same situation on my Ubuntu VM, the library installs without errors. But when I try running it on Windows, it gives me this main error:
ERROR: Could not build wheels for aiohttp, multidict, frozenlist, yarl, which is required to install pyproject.toml-based projects

I had pip fully upgraded when I ran the command. I’ve seen answers where some modules aren’t supported on some versions of python, but on the hikari github, it claims to have python-3.8-3.11 supported. I am using python 3.10

(Full command output):

(venv) PS C:UsersusrDesktopi am a dev lolPythonDSBotsNUBZBOTv2> python3 -m pip install hikari       
Collecting hikari
  Using cached hikari-2.0.0.dev113-py3-none-any.whl (522 kB)
Collecting attrs~=22.1
  Using cached attrs-22.2.0-py3-none-any.whl (60 kB)
Collecting aiohttp~=3.8
  Using cached aiohttp-3.8.3.tar.gz (7.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting multidict~=6.0
  Using cached multidict-6.0.4.tar.gz (51 kB)
  Installing build dependencies ... done
  WARNING: Missing build requirements in pyproject.toml for multidict~=6.0 from https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz (from hikari).
  WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'.
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting colorlog~=6.7
  Using cached colorlog-6.7.0-py2.py3-none-any.whl (11 kB)
Collecting async-timeout<5.0,>=4.0.0a3
  Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting frozenlist>=1.1.1
  Using cached frozenlist-1.3.3.tar.gz (66 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting aiosignal>=1.1.2
  Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Collecting yarl<2.0,>=1.0
  Using cached yarl-1.8.2.tar.gz (172 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting charset-normalizer<3.0,>=2.0
  Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Collecting colorama
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting idna>=2.0
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Building wheels for collected packages: aiohttp, multidict, frozenlist, yarl
  Building wheel for aiohttp (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for aiohttp (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [94 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating buildlib.mingw_x86_64-cpython-310
      creating buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpabc.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpbase_protocol.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpclient.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpclient_exceptions.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpclient_proto.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpclient_reqrep.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpclient_ws.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpconnector.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpcookiejar.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpformdata.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphdrs.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphelpers.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphttp.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphttp_exceptions.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphttp_parser.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphttp_websocket.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttphttp_writer.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttplocks.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttplog.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpmultipart.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttppayload.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttppayload_streamer.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttppytest_plugin.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpresolver.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpstreams.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttptcp_helpers.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttptest_utils.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttptracing.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttptypedefs.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_app.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_exceptions.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_fileresponse.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_log.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_middlewares.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_protocol.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_request.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_response.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_routedef.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_runner.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_server.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_urldispatcher.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpweb_ws.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttpworker.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp__init__.py -> buildlib.mingw_x86_64-cpython-310aiohttp
      running egg_info
      writing aiohttp.egg-infoPKG-INFO
      writing dependency_links to aiohttp.egg-infodependency_links.txt
      writing requirements to aiohttp.egg-inforequires.txt
      writing top-level names to aiohttp.egg-infotop_level.txt
      reading manifest file 'aiohttp.egg-infoSOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching 'aiohttp' anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.lib' found anywhere in distribution
      warning: no previously-included files matching '*.dll' found anywhere in distribution
      warning: no previously-included files matching '*.a' found anywhere in distribution
      warning: no previously-included files matching '*.obj' found anywhere in distribution
      warning: no previously-included files found matching 'aiohttp*.html'
      no previously-included directories found matching 'docs_build'
      adding license file 'LICENSE.txt'
      writing manifest file 'aiohttp.egg-infoSOURCES.txt'
      copying aiohttp_cparser.pxd -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_find_header.pxd -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_headers.pxi -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_helpers.pyi -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_helpers.pyx -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_http_parser.pyx -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_http_writer.pyx -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttp_websocket.pyx -> buildlib.mingw_x86_64-cpython-310aiohttp
      copying aiohttppy.typed -> buildlib.mingw_x86_64-cpython-310aiohttp
      creating buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_cparser.pxd.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_find_header.pxd.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_helpers.pyi.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_helpers.pyx.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_http_parser.pyx.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_http_writer.pyx.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hash_websocket.pyx.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      copying aiohttp.hashhdrs.py.hash -> buildlib.mingw_x86_64-cpython-310aiohttp.hash
      running build_ext
      building 'aiohttp._websocket' extension
      error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64')
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aiohttp
  Building wheel for multidict (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for multidict (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [59 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating buildlib.mingw_x86_64-cpython-310
      creating buildlib.mingw_x86_64-cpython-310multidict
      copying multidict_abc.py -> buildlib.mingw_x86_64-cpython-310multidict
      copying multidict_compat.py -> buildlib.mingw_x86_64-cpython-310multidict
      copying multidict_multidict_base.py -> buildlib.mingw_x86_64-cpython-310multidict
      copying multidict_multidict_py.py -> buildlib.mingw_x86_64-cpython-310multidict
      copying multidict__init__.py -> buildlib.mingw_x86_64-cpython-310multidict
      running egg_info
      writing multidict.egg-infoPKG-INFO
      writing dependency_links to multidict.egg-infodependency_links.txt
      writing top-level names to multidict.egg-infotop_level.txt
      reading manifest file 'multidict.egg-infoSOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files found matching 'multidict_multidict.html'
      warning: no previously-included files found matching 'multidict*.so'
      warning: no previously-included files found matching 'multidict*.pyd'
      warning: no previously-included files found matching 'multidict*.pyd'
      no previously-included directories found matching 'docs_build'
      adding license file 'LICENSE'
      writing manifest file 'multidict.egg-infoSOURCES.txt'
      C:UsersusrAppDataLocalTemppip-build-env-20clvqoboverlaylibpython3.10site-packagessetuptoolscommandbuild_py.py:202: SetuptoolsDeprecationWarning:     Installing 'multidict._multilib' as data is deprecated, please list it in `packages`.
          !!


          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'multidict._multilib' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'multidict._multilib' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'multidict._multilib' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.


      !!

        check.warn(importable)
      copying multidict__init__.pyi -> buildlib.mingw_x86_64-cpython-310multidict
      copying multidictpy.typed -> buildlib.mingw_x86_64-cpython-310multidict
      running build_ext
      building 'multidict._multidict' extension
      error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64')
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for multidict
  Building wheel for frozenlist (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for frozenlist (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [33 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating buildlib.mingw_x86_64-cpython-310
      creating buildlib.mingw_x86_64-cpython-310frozenlist
      copying frozenlist__init__.py -> buildlib.mingw_x86_64-cpython-310frozenlist
      running egg_info
      writing frozenlist.egg-infoPKG-INFO
      writing dependency_links to frozenlist.egg-infodependency_links.txt
      writing top-level names to frozenlist.egg-infotop_level.txt
      reading manifest file 'frozenlist.egg-infoSOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.lib' found anywhere in distribution
      warning: no previously-included files matching '*.dll' found anywhere in distribution
      warning: no previously-included files matching '*.a' found anywhere in distribution
      warning: no previously-included files matching '*.obj' found anywhere in distribution
      warning: no previously-included files found matching 'frozenlist*.html'
      no previously-included directories found matching 'docs_build'
      adding license file 'LICENSE'
      writing manifest file 'frozenlist.egg-infoSOURCES.txt'
      copying frozenlist__init__.pyi -> buildlib.mingw_x86_64-cpython-310frozenlist
      copying frozenlist_frozenlist.pyx -> buildlib.mingw_x86_64-cpython-310frozenlist
      copying frozenlistpy.typed -> buildlib.mingw_x86_64-cpython-310frozenlist
      running build_ext
      building 'frozenlist._frozenlist' extension
      error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64')
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for frozenlist
  Building wheel for yarl (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for yarl (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [37 lines of output]
      C:UsersusrAppDataLocalTemppip-build-env-_29vf35moverlaylibpython3.10site-packagessetuptoolsconfigsetupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      **********************
      * Accelerated build *
      **********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating buildlib.mingw_x86_64-cpython-310
      creating buildlib.mingw_x86_64-cpython-310yarl
      copying yarl_quoting.py -> buildlib.mingw_x86_64-cpython-310yarl
      copying yarl_quoting_py.py -> buildlib.mingw_x86_64-cpython-310yarl
      copying yarl_url.py -> buildlib.mingw_x86_64-cpython-310yarl
      copying yarl__init__.py -> buildlib.mingw_x86_64-cpython-310yarl
      running egg_info
      writing yarl.egg-infoPKG-INFO
      writing dependency_links to yarl.egg-infodependency_links.txt
      writing requirements to yarl.egg-inforequires.txt
      writing top-level names to yarl.egg-infotop_level.txt
      reading manifest file 'yarl.egg-infoSOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.cache' found anywhere in distribution
      warning: no previously-included files found matching 'yarl*.html'
      warning: no previously-included files found matching 'yarl*.so'
      warning: no previously-included files found matching 'yarl*.pyd'
      no previously-included directories found matching 'docs_build'
      adding license file 'LICENSE'
      writing manifest file 'yarl.egg-infoSOURCES.txt'
      copying yarl__init__.pyi -> buildlib.mingw_x86_64-cpython-310yarl
      copying yarl_quoting_c.pyi -> buildlib.mingw_x86_64-cpython-310yarl
      copying yarl_quoting_c.pyx -> buildlib.mingw_x86_64-cpython-310yarl
      copying yarlpy.typed -> buildlib.mingw_x86_64-cpython-310yarl
      running build_ext
      building 'yarl._quoting_c' extension
      error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64')
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for yarl
Failed to build aiohttp multidict frozenlist yarl
ERROR: Could not build wheels for aiohttp, multidict, frozenlist, yarl, which is required to install pyproject.toml-based projects
Asked By: NUBZRCOOL

||

Answers:

The solution for me was to use a different version of python–python3.8. I guess I will wait until the modules fully support 3.10

Answered By: NUBZRCOOL
Categories: questions Tags: , , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.