Search code examples
pythonpipmingwpython-venvmsys2

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


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:\Users\usr\Desktop\i am a dev lol\Python\DSBots\NUBZBOTv2> 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 build\lib.mingw_x86_64-cpython-310
      creating build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\abc.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\base_protocol.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\client.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\client_exceptions.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\client_proto.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\client_reqrep.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\client_ws.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\connector.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\cookiejar.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\formdata.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\hdrs.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\helpers.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\http.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\http_exceptions.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\http_parser.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\http_websocket.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\http_writer.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\locks.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\log.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\multipart.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\payload.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\payload_streamer.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\pytest_plugin.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\resolver.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\streams.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\tcp_helpers.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\test_utils.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\tracing.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\typedefs.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_app.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_exceptions.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_fileresponse.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_log.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_middlewares.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_protocol.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_request.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_response.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_routedef.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_runner.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_server.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_urldispatcher.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\web_ws.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\worker.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\__init__.py -> build\lib.mingw_x86_64-cpython-310\aiohttp
      running egg_info
      writing aiohttp.egg-info\PKG-INFO
      writing dependency_links to aiohttp.egg-info\dependency_links.txt
      writing requirements to aiohttp.egg-info\requires.txt
      writing top-level names to aiohttp.egg-info\top_level.txt
      reading manifest file 'aiohttp.egg-info\SOURCES.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-info\SOURCES.txt'
      copying aiohttp\_cparser.pxd -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_find_header.pxd -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_headers.pxi -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_helpers.pyi -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_helpers.pyx -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_http_parser.pyx -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_http_writer.pyx -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\_websocket.pyx -> build\lib.mingw_x86_64-cpython-310\aiohttp
      copying aiohttp\py.typed -> build\lib.mingw_x86_64-cpython-310\aiohttp
      creating build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_cparser.pxd.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_find_header.pxd.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_helpers.pyi.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_helpers.pyx.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_http_parser.pyx.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_http_writer.pyx.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\_websocket.pyx.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.hash
      copying aiohttp\.hash\hdrs.py.hash -> build\lib.mingw_x86_64-cpython-310\aiohttp\.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 build\lib.mingw_x86_64-cpython-310
      creating build\lib.mingw_x86_64-cpython-310\multidict
      copying multidict\_abc.py -> build\lib.mingw_x86_64-cpython-310\multidict
      copying multidict\_compat.py -> build\lib.mingw_x86_64-cpython-310\multidict
      copying multidict\_multidict_base.py -> build\lib.mingw_x86_64-cpython-310\multidict
      copying multidict\_multidict_py.py -> build\lib.mingw_x86_64-cpython-310\multidict
      copying multidict\__init__.py -> build\lib.mingw_x86_64-cpython-310\multidict
      running egg_info
      writing multidict.egg-info\PKG-INFO
      writing dependency_links to multidict.egg-info\dependency_links.txt
      writing top-level names to multidict.egg-info\top_level.txt
      reading manifest file 'multidict.egg-info\SOURCES.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-info\SOURCES.txt'
      C:\Users\usr\AppData\Local\Temp\pip-build-env-20clvqob\overlay\lib\python3.10\site-packages\setuptools\command\build_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 -> build\lib.mingw_x86_64-cpython-310\multidict
      copying multidict\py.typed -> build\lib.mingw_x86_64-cpython-310\multidict
      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 build\lib.mingw_x86_64-cpython-310
      creating build\lib.mingw_x86_64-cpython-310\frozenlist
      copying frozenlist\__init__.py -> build\lib.mingw_x86_64-cpython-310\frozenlist
      running egg_info
      writing frozenlist.egg-info\PKG-INFO
      writing dependency_links to frozenlist.egg-info\dependency_links.txt
      writing top-level names to frozenlist.egg-info\top_level.txt
      reading manifest file 'frozenlist.egg-info\SOURCES.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-info\SOURCES.txt'
      copying frozenlist\__init__.pyi -> build\lib.mingw_x86_64-cpython-310\frozenlist
      copying frozenlist\_frozenlist.pyx -> build\lib.mingw_x86_64-cpython-310\frozenlist
      copying frozenlist\py.typed -> build\lib.mingw_x86_64-cpython-310\frozenlist
      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:\Users\usr\AppData\Local\Temp\pip-build-env-_29vf35m\overlay\lib\python3.10\site-packages\setuptools\config\setupcfg.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 build\lib.mingw_x86_64-cpython-310
      creating build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\_quoting.py -> build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\_quoting_py.py -> build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\_url.py -> build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\__init__.py -> build\lib.mingw_x86_64-cpython-310\yarl
      running egg_info
      writing yarl.egg-info\PKG-INFO
      writing dependency_links to yarl.egg-info\dependency_links.txt
      writing requirements to yarl.egg-info\requires.txt
      writing top-level names to yarl.egg-info\top_level.txt
      reading manifest file 'yarl.egg-info\SOURCES.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-info\SOURCES.txt'
      copying yarl\__init__.pyi -> build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\_quoting_c.pyi -> build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\_quoting_c.pyx -> build\lib.mingw_x86_64-cpython-310\yarl
      copying yarl\py.typed -> build\lib.mingw_x86_64-cpython-310\yarl
      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

Solution

  • 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