Error failed building wheel for frozenlist

Long story short As part of the sunpy CI we've tried building with Python 3.11. frozenlist is one of our dependencies, and the build fails. Expected behaviour frozenlist builds fine. Actual beh...

Long story short

As part of the sunpy CI we’ve tried building with Python 3.11. frozenlist is one of our dependencies, and the build fails.

Expected behaviour

frozenlist builds fine.

Actual behaviour

frozenlist build fails, with:

2022-07-11T20:46:52.2781505Z   × Building wheel for frozenlist (pyproject.toml) did not run successfully.
2022-07-11T20:46:52.2781615Zexit code: 1
2022-07-11T20:46:52.2781742Z   ╰─> [43 lines of output]
2022-07-11T20:46:52.2781820Z       **********************
2022-07-11T20:46:52.2781908Z       * Accellerated build *
2022-07-11T20:46:52.2781980Z       **********************
2022-07-11T20:46:52.2782063Z       running bdist_wheel
2022-07-11T20:46:52.2782124Z       running build
2022-07-11T20:46:52.2782203Z       running build_py
2022-07-11T20:46:52.2782280Z       creating build
2022-07-11T20:46:52.2782460Z       creating build/lib.linux-x86_64-cpython-311
2022-07-11T20:46:52.2782660Z       creating build/lib.linux-x86_64-cpython-311/frozenlist
2022-07-11T20:46:52.2782910Z       copying frozenlist/__init__.py -> build/lib.linux-x86_64-cpython-311/frozenlist
2022-07-11T20:46:52.2782990Z       running egg_info
2022-07-11T20:46:52.2783143Z       writing frozenlist.egg-info/PKG-INFO
2022-07-11T20:46:52.2783377Z       writing dependency_links to frozenlist.egg-info/dependency_links.txt
2022-07-11T20:46:52.2783591Z       writing top-level names to frozenlist.egg-info/top_level.txt
2022-07-11T20:46:52.2783801Z       reading manifest file 'frozenlist.egg-info/SOURCES.txt'
2022-07-11T20:46:52.2783968Z       reading manifest template 'MANIFEST.in'
2022-07-11T20:46:52.2784229Z       warning: no previously-included files matching '*.pyc' found anywhere in distribution
2022-07-11T20:46:52.2784490Z       warning: no previously-included files matching '*.pyd' found anywhere in distribution
2022-07-11T20:46:52.2784747Z       warning: no previously-included files matching '*.so' found anywhere in distribution
2022-07-11T20:46:52.2785043Z       warning: no previously-included files matching '*.lib' found anywhere in distribution
2022-07-11T20:46:52.2785298Z       warning: no previously-included files matching '*.dll' found anywhere in distribution
2022-07-11T20:46:52.2785592Z       warning: no previously-included files matching '*.a' found anywhere in distribution
2022-07-11T20:46:52.2785856Z       warning: no previously-included files matching '*.obj' found anywhere in distribution
2022-07-11T20:46:52.2786094Z       warning: no previously-included files found matching 'frozenlist/*.html'
2022-07-11T20:46:52.2786314Z       no previously-included directories found matching 'docs/_build'
2022-07-11T20:46:52.2786456Z       adding license file 'LICENSE'
2022-07-11T20:46:52.2786661Z       writing manifest file 'frozenlist.egg-info/SOURCES.txt'
2022-07-11T20:46:52.2786893Z       copying frozenlist/__init__.pyi -> build/lib.linux-x86_64-cpython-311/frozenlist
2022-07-11T20:46:52.2787149Z       copying frozenlist/_frozenlist.pyx -> build/lib.linux-x86_64-cpython-311/frozenlist
2022-07-11T20:46:52.2787392Z       copying frozenlist/py.typed -> build/lib.linux-x86_64-cpython-311/frozenlist
2022-07-11T20:46:52.2787476Z       running build_ext
2022-07-11T20:46:52.2787653Z       building 'frozenlist._frozenlist' extension
2022-07-11T20:46:52.2787831Z       creating build/temp.linux-x86_64-cpython-311
2022-07-11T20:46:52.2788028Z       creating build/temp.linux-x86_64-cpython-311/frozenlist
2022-07-11T20:46:52.2788649Z       gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/runner/work/sunpy/sunpy/.tox/py311/include -I/opt/hostedtoolcache/Python/3.11.0-beta.3/x64/include/python3.11 -c frozenlist/_frozenlist.c -o build/temp.linux-x86_64-cpython-311/frozenlist/_frozenlist.o
2022-07-11T20:46:52.2788868Z       frozenlist/_frozenlist.c: In function__Pyx_AddTraceback’:
2022-07-11T20:46:52.2789184Z       frozenlist/_frozenlist.c:432:62: error: dereferencing pointer to incomplete typePyFrameObject’ {akastruct _frame’}
2022-07-11T20:46:52.2789447Z         432 |   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
2022-07-11T20:46:52.2789552Z             |                                                              ^~
2022-07-11T20:46:52.2789826Z       frozenlist/_frozenlist.c:7127:5: note: in expansion of macro__Pyx_PyFrame_SetLineNumber2022-07-11T20:46:52.2789960Z        7127 |     __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
2022-07-11T20:46:52.2790051Z             |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-07-11T20:46:52.2790243Z       error: command '/usr/bin/gcc' failed with exit code 1
2022-07-11T20:46:52.2790327Z       [end of output]
2022-07-11T20:46:52.2790378Z   
2022-07-11T20:46:52.2790545Z   note: This error originates from a subprocess, and is likely not a problem with pip.
2022-07-11T20:46:52.2790659Z   ERROR: Failed building wheel for frozenlist

Steps to reproduce

I haven’t tried to reproduce this in isolation, but the sunpy CI build is here: https://github.com/sunpy/sunpy/runs/7290065780

Your environment

frozenlist 1.3.0, Python 3.11.0-beta3

I’m trying to install discord.py , but I get this error out. pip updated immediately I say.enter image description here
I reinstalled python, pip and so on, I installed in pycharm both from PythonInterpreter and through the terminal

please helpp
dfggfdgfdgfdgdf
fdggfddgfdgfgfd
fdgfdggfdgfdgfd
dfgdfgfdgdfg
fdgdfgfdgdfg
fdgfdgfdgfdg
dfgdfgdfgdf
gfdgfdgfdgdf
gfdgdfgdfg
dfgdfgfdgfdg

× Building wheel for yarl (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [98 lines of output]
      C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-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
      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'
      running build_ext
      building 'yarl._quoting_c' extension
      Traceback (most recent call last):
        File "C:UsersUserPycharmProjectspythonProjectvenvLibsite-packagespip_vendorpep517in_process_in_process.py", line 351, in <module>
          main()
        File "C:UsersUserPycharmProjectspythonProjectvenvLibsite-packagespip_vendorpep517in_process_in_process.py", line 333, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserPycharmProjectspythonProjectvenvLibsite-packagespip_vendorpep517in_process_in_process.py", line 249, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsbuild_meta.py", line 412, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsbuild_meta.py", line 397, in _build_with_temp_dir
          self.run_setup()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsbuild_meta.py", line 484, in run_setup
          self).run_setup(setup_script=setup_script)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsbuild_meta.py", line 335, in run_setup
          exec(code, locals())
        File "<string>", line 86, in <module>
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscore.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscore.py", line 201, in run_commands
          dist.run_commands()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilsdist.py", line 968, in run_commands
          self.run_command(cmd)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsdist.py", line 1217, in run_command
          super().run_command(command)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilsdist.py", line 987, in run_command
          cmd_obj.run()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packageswheelbdist_wheel.py", line 299, in run
          self.run_command('build')
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscmd.py", line 319, in run_command
          self.distribution.run_command(command)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsdist.py", line 1217, in run_command
          super().run_command(command)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilsdist.py", line 987, in run_command
          cmd_obj.run()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscommandbuild.py", line 132, in run
          self.run_command(cmd_name)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscmd.py", line 319, in run_command
          self.distribution.run_command(command)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsdist.py", line 1217, in run_command
          super().run_command(command)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilsdist.py", line 987, in run_command
          cmd_obj.run()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolscommandbuild_ext.py", line 84, in run
          _build_ext.run(self)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscommandbuild_ext.py", line 346, in run
          self.build_extensions()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscommandbuild_ext.py", line 466, in build_extensions
          self._build_extensions_serial()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscommandbuild_ext.py", line 492, in _build_extensions_serial
          self.build_extension(ext)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolscommandbuild_ext.py", line 246, in build_extension
          _build_ext.build_extension(self, ext)
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutilscommandbuild_ext.py", line 547, in build_extension
          objects = self.compiler.compile(
                    ^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutils_msvccompiler.py", line 344, in compile
          self.initialize()
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptools_distutils_msvccompiler.py", line 253, in initialize
          vc_env = _get_vc_env(plat_spec)
                   ^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsmsvc.py", line 214, in msvc14_get_vc_env
          return _msvc14_get_vc_env(plat_spec)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:UsersUserAppDataLocalTemppip-build-env-0gyts2a3overlayLibsite-packagessetuptoolsmsvc.py", line 168, in _msvc14_get_vc_env
          raise distutils.errors.DistutilsPlatformError(
      setuptools._distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [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 frozenlist multidict yarl
ERROR: Could not build wheels for frozenlist, multidict, yarl, which is required to install pyproject.toml-based projects

Я обновил Python до 3.11 и хотел установить библиотеку Aiogram но получаю такую ошибку

note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for multidict
  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:UsersUSERAppDataLocalTemppip-build-env-r8x1eh1soverlayLibsite-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.win-amd64-cpython-311
      creating buildlib.win-amd64-cpython-311yarl
      copying yarl_quoting.py -> buildlib.win-amd64-cpython-311yarl
      copying yarl_quoting_py.py -> buildlib.win-amd64-cpython-311yarl
      copying yarl_url.py -> buildlib.win-amd64-cpython-311yarl
      copying yarl__init__.py -> buildlib.win-amd64-cpython-311yarl
      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.win-amd64-cpython-311yarl
      copying yarl_quoting_c.pyi -> buildlib.win-amd64-cpython-311yarl
      copying yarl_quoting_c.pyx -> buildlib.win-amd64-cpython-311yarl
      copying yarlpy.typed -> buildlib.win-amd64-cpython-311yarl
      running build_ext
      building 'yarl._quoting_c' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [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 frozenlist multidict yarl
ERROR: Could not build wheels for frozenlist, multidict, yarl, which is required to install pyproject.toml-based projects

Numpy is the best python package for array creation and computing complex mathematic calculations. Generally, you are able to install NumPy easily using the pip command. But sometimes you are unable to install it and get the error message  failed building wheel for numpy. In this entire tutorial, you will know why this error comes and how to solve the error: failed building wheel for NumPy error.

What is a Wheel?

The wheel is a distribution or packaging format. Today most coders use it for building and packaging the python code. There is a file of the format WHL that saves the packaging information in wheel format. The Wheel contains all the metadata and files for the python to install the package.

Most of the time this type of error comes when there is a NumPy version released. The current NumPy releases do not support the specific python version. So the wheel format file is unable to install the version of the Numpy in your system. And it causes the failed building wheel for numpy error.

Solution for the failed building wheel for NumPy

The solution for the error failed building wheel for NumPy is very simple. I will discuss different ways to solve this type of error.

Solution 1: Upgrade the pip

The first solution to remove this error is to first upgrade the pip command. After upgrading try to install the NumPy version using the pip command.

But make sure to check the version of the python. If the version is 3. xx then use the pip3 command and if it is 2. xx then use the pip command.

Use the below command to check the version of python.

python --version

Checking Python version before installing spacy

Checking the Python version before installing spacy

Use the below command to install the NumPy.

For python3.xx

pip3 install numpy

For python 2. xx

pip install numpy

My system has python 3. xx so I will use the pip3 command.

Install numpy using the pip3 command

Install numpy using the pip3 command

Solution 2: Install the specific NumPy version

If you are still getting the error after applying solution 1 then you have to check which version of the Numpy is supported by the python. In this case, you have to downgrade the NumPy version.

For example, let’s say the current Numpy version is 1.19 and it is not supported by python. Then you have to check the version of the NumPy supported by the python. Let’s say it is 1.18 then you will install it using the below command.

pip3 install numpy==1.18

Install the specific version of numpy

Install the specific version of numpy

It will successfully install the NumPy and you will not get the failed building wheel for NumPy.

Conclusion

Numpy is a great package if you want to do computational work on datasets. These are the ways that can solve the error.

I hope you have liked this tutorial. If you are still getting errors then you can contact us for more help.

Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

We respect your privacy and take protecting it seriously

Thank you for signup. A Confirmation Email has been sent to your Email Address.

Something went wrong.

gaborbernat opened this issue a year ago · comments

Describe the bug

Because of python/cpython#28968, cython fixed it in cython/cython#4428 and is released with 0.29.5

To Reproduce

pip install aiohttp

Expected behavior

To build the wheel.

Logs/tracebacks

Failed to build aiohttp yarl
  error: subprocess-exited-with-error

  × Building wheel for aiohttp (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      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'
      running build_ext
      building 'aiohttp._websocket' extension
      aiohttp/_websocket.c:198:12: fatal error: longintrepr.h: No such file or directory
        198 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

Python Version

aiohttp Version

multidict Version

yarl Version

OS

Any

Related component

Server, Client

Additional context

No response

Code of Conduct

  • I agree to follow the aio-libs Code of Conduct

Thanks! It usually doesn’t make sense for us to be working on the next interpreter support until rc are out because the build deps like Cython can’t keep up with the ABI changes anyway.

Perhaps RC is a bit too late, IMHO beta should be ok, no? 😊 (this blocks us from testing tox)

I don’t think it’s up to us really. We can enable testing in the CI (I would be actually in favor if that was realistic) but Cython having to go through upgrades first is traditionally a blocker that is out of our control. This usually results in this effort being rather pointless until the ABI is stable and Cython supports the respective changes. Also, Cython still isn’t able to produce abi3 wheels which I suspect would greatly improve the situation for everyone.

@gaborbernat you say that it’s fixed in Cython that is released already but the problem is building wheels from the published sdist? Are you asking for the release of a new version with C-files generated with newer Cython? If that’s an action item right now, I think that it’s doable.

Are you asking for the release of a new version with C-files generated with newer Cython? If that’s an action item right now, I think that it’s doable.

I think this is the case 🤔

Are you asking for the release of a new version with C-files generated with newer Cython? If that’s an action item right now, I think that it’s doable.

I think this is the case 🤔

Seems that way.
cython/cython#4428

Python 3.11.0b4 is out. Should we revisit this one? Citing release notes here:

Our goal is have no ABI changes after beta 4 and as few code changes as possible after 3.11.0rc1, the first release candidate. To achieve that, it will be extremely important to get as much exposure for 3.11 as possible during the beta phase.

  • #6830
  • https://github.com/aio-libs/aiohttp/pull/6830/files

The main branch is already fixed, someone just need to cut a release I believe 🤔

Not that I’m aware of. Tests are still failing for 3.11.

The main branch is already fixed, someone just need to cut a release I believe thinking

Note that the master branch corresponds to aiohttp 4 which does not have stable releases. We release production-quality versions from the stable branches.

So with updated deps (frozenlist, yarl, cython and pytest), the CI fails but the output isn’t useful. I reproduced it locally and it left me confused — the pytest invocation produces zero output no matter how much verbosity I request from it and the return code is 1:

$ pytest
$ echo $?
1
$ pytest -vvvvv
1
$ python -m pytest
$ echo $?
1
$ python -Xdev -m pytest
$ echo $?
1
$ python -X dev -X faulthandler -X importtime -m pytest
import time: self [us] | cumulative | imported package
import time:       139 |        139 |   _io
import time:        30 |         30 |   marshal
import time:       306 |        306 |   posix
import time:       282 |        756 | _frozen_importlib_external
import time:        81 |         81 |   time
import time:        92 |        172 | zipimport
import time:        90 |         90 | faulthandler
import time:        87 |         87 |     _codecs
import time:       175 |        261 |   codecs
import time:       315 |        315 |   encodings.aliases
import time:       396 |        971 | encodings
import time:       181 |        181 | encodings.utf_8
import time:        72 |         72 | _signal
import time:        27 |         27 |     _abc
import time:       102 |        128 |   abc
import time:       136 |        263 | io
import time:       260 |        260 | warnings
import time:        37 |         37 |       _stat
import time:        49 |         86 |     stat
import time:       728 |        728 |     _collections_abc
import time:        28 |         28 |       genericpath
import time:        53 |         81 |     posixpath
import time:       271 |       1164 |   os
import time:        58 |         58 |   _sitebuiltins
import time:       235 |        235 |   types
import time:       144 |        144 |     importlib
import time:       154 |        154 |     importlib._abc
import time:        85 |         85 |         itertools
import time:       108 |        108 |         keyword
import time:        61 |         61 |           _operator
import time:       241 |        302 |         operator
import time:       149 |        149 |         reprlib
import time:        52 |         52 |         _collections
import time:       808 |       1501 |       collections
import time:        52 |         52 |         _functools
import time:       456 |        507 |       functools
import time:       600 |       2607 |     contextlib
import time:       115 |       3018 |   importlib.util
import time:        54 |         54 |   importlib.machinery
import time:       282 |        282 |   sitecustomize
import time:      5248 |      10055 | site
import time:       130 |        130 | runpy
import time:       147 |        147 |     _pytest._version
import time:       228 |        375 |   _pytest
import time:      1094 |       1094 |         _ast
import time:      1364 |       1364 |         enum
import time:      1812 |       4269 |       ast
import time:       193 |        193 |               encodings.ascii
import time:       153 |        346 |             _opcode
import time:       331 |        676 |           opcode
import time:       802 |       1477 |         dis
import time:       153 |        153 |         collections.abc
import time:        62 |         62 |                 _sre
import time:       295 |        295 |                   re._constants
import time:       294 |        588 |                 re._parser
import time:       110 |        110 |                 re._casefix
import time:       247 |       1006 |               re._compiler
import time:       145 |        145 |               copyreg
import time:       424 |       1574 |             re
import time:       152 |        152 |             token
import time:       196 |        196 |             encodings.latin_1
import time:      1020 |       2942 |           tokenize
import time:       132 |       3073 |         linecache
import time:      1747 |       6449 |       inspect
import time:      1057 |       1057 |         textwrap
import time:       662 |       1718 |       traceback
import time:       152 |        152 |         fnmatch
import time:        70 |         70 |           _winapi
import time:        59 |         59 |           nt
import time:        54 |         54 |           nt
import time:        51 |         51 |           nt
import time:        51 |         51 |           nt
import time:        51 |         51 |           nt
import time:        86 |        419 |         ntpath
import time:        53 |         53 |         errno
import time:       107 |        107 |           urllib
import time:      1006 |       1112 |         urllib.parse
import time:       837 |       2572 |       pathlib
import time:       118 |        118 |         _typing
import time:      2127 |       2244 |       typing
import time:       284 |        284 |         _weakrefset
import time:       401 |        684 |       weakref
import time:       134 |        134 |         __future__
import time:      3054 |       3054 |             platform
import time:       205 |       3259 |           attr._compat
import time:        67 |         67 |                   org
import time:        14 |         80 |                 org.python
import time:        14 |         94 |               org.python.core
import time:       188 |        282 |             copy
import time:       558 |        558 |             threading
import time:       183 |        183 |               _uuid
import time:       374 |        556 |             uuid
import time:       102 |        102 |             attr._config
import time:       243 |        243 |               attr.exceptions
import time:       153 |        396 |             attr.setters
import time:      1946 |       3838 |           attr._make
import time:       176 |       7271 |         attr.converters
import time:       117 |        117 |         attr.filters
import time:      3876 |       3876 |         attr.validators
import time:       178 |        178 |         attr._cmp
import time:       147 |        147 |         attr._funcs
import time:       500 |        500 |         attr._version_info
import time:       143 |        143 |         attr._next_gen
import time:       279 |      12641 |       attr
import time:       124 |        124 |         pluggy._version
import time:       138 |        138 |           pluggy._tracing
import time:       131 |        131 |             pluggy._result
import time:       112 |        242 |           pluggy._callers
import time:       220 |        220 |           pluggy._hooks
import time:       196 |        196 |               _csv
import time:       371 |        566 |             csv
import time:       145 |        145 |             email
import time:       212 |        212 |               binascii
import time:       150 |        150 |                 zlib
import time:       185 |        185 |                   _compression
import time:       167 |        167 |                   _bz2
import time:       204 |        555 |                 bz2
import time:       206 |        206 |                   _lzma
import time:       266 |        471 |                 lzma
import time:       537 |       1712 |               shutil
import time:       136 |        136 |                 _struct
import time:       115 |        251 |               struct
import time:       978 |       3151 |             zipfile
import time:       139 |        139 |                 quopri
import time:       142 |        142 |                     math
import time:        99 |         99 |                       _bisect
import time:       121 |        219 |                     bisect
import time:       101 |        101 |                     _random
import time:       101 |        101 |                     _sha512
import time:       321 |        882 |                   random
import time:       255 |        255 |                     _socket
import time:       130 |        130 |                       select
import time:       463 |        592 |                     selectors
import time:       174 |        174 |                     array
import time:      1485 |       2504 |                   socket
import time:       183 |        183 |                     _datetime
import time:       780 |        962 |                   datetime
import time:        67 |         67 |                         _locale
import time:       807 |        873 |                       locale
import time:       408 |       1281 |                     calendar
import time:       187 |       1467 |                   email._parseaddr
import time:       196 |        196 |                       base64
import time:       110 |        306 |                     email.base64mime
import time:        27 |         27 |                         _string
import time:       551 |        578 |                       string
import time:       235 |        812 |                     email.quoprimime
import time:       435 |        435 |                     email.errors
import time:       118 |        118 |                     email.encoders
import time:       186 |       1855 |                   email.charset
import time:       387 |       8055 |                 email.utils
import time:       600 |        600 |                   email.header
import time:      1108 |       1708 |                 email._policybase
import time:       240 |        240 |                 email._encoded_words
import time:       117 |        117 |                 email.iterators
import time:       553 |      10809 |               email.message
import time:        96 |         96 |                 importlib.metadata._functools
import time:       150 |        246 |               importlib.metadata._text
import time:       233 |      11287 |             importlib.metadata._adapters
import time:       306 |        306 |             importlib.metadata._meta
import time:       252 |        252 |             importlib.metadata._collections
import time:       101 |        101 |             importlib.metadata._itertools
import time:       926 |        926 |                     tempfile
import time:       311 |        311 |                     importlib.resources.abc
import time:       262 |        262 |                     importlib.resources._adapters
import time:       248 |       1745 |                   importlib.resources._common
import time:       170 |        170 |                   importlib.resources._legacy
import time:       123 |       2038 |                 importlib.resources
import time:        16 |       2054 |               importlib.resources.abc
import time:       371 |       2424 |             importlib.abc
import time:      1263 |      19493 |           importlib.metadata
import time:       329 |      20422 |         pluggy._manager
import time:       162 |      20707 |       pluggy
import time:       368 |        368 |       _pytest._code.source
import time:       157 |        157 |             unicodedata
import time:       105 |        262 |           _pytest._io.wcwidth
import time:       187 |        187 |               py._error
import time:        99 |         99 |               py._vendored_packages
import time:       113 |        113 |                 py._vendored_packages.apipkg.version
import time:       230 |        342 |               py._vendored_packages.apipkg
import time:        85 |         85 |               py._version
import time:       351 |       1062 |             py
import time:        99 |         99 |               py._path
import time:        30 |         30 |               atexit
import time:       312 |        312 |               py._path.common
import time:       442 |        881 |             py._path.local
import time:       887 |       2829 |           _pytest.compat
import time:       257 |       3347 |         _pytest._io.terminalwriter
import time:       117 |       3463 |       _pytest._io
import time:       583 |        583 |           dataclasses
import time:       256 |        839 |         pprint
import time:       193 |       1031 |       _pytest._io.saferepr
import time:       716 |        716 |         _pytest.warning_types
import time:       126 |        842 |       _pytest.deprecated
import time:       432 |        432 |         _pytest.outcomes
import time:       599 |       1031 |       _pytest.pathlib
import time:      5146 |      63159 |     _pytest._code.code
import time:       146 |      63304 |   _pytest._code
import time:       669 |        669 |             gettext
import time:       844 |       1513 |           argparse
import time:       351 |        351 |           shlex
import time:       987 |        987 |           _pytest.hookspec
import time:       163 |        163 |           _pytest.config.exceptions
import time:       211 |        211 |             iniconfig
import time:       265 |        476 |           _pytest.config.findpaths
import time:       216 |        216 |           _pytest.stash
import time:      1987 |       5690 |         _pytest.config
import time:       340 |       6030 |       _pytest.assertion.util
import time:      1010 |       1010 |               _pytest.mark.expression
import time:      1953 |       1953 |               _pytest.mark.structures
import time:       556 |        556 |               _pytest.config.argparsing
import time:      1743 |       5261 |             _pytest.mark
import time:        18 |       5278 |           _pytest.mark.structures
import time:       769 |       6047 |         _pytest.nodes
import time:       459 |        459 |           _pytest.scope
import time:      3691 |       4150 |         _pytest.fixtures
import time:       660 |        660 |         _pytest.reports
import time:       419 |        419 |           bdb
import time:       100 |        100 |           _pytest.timing
import time:      1049 |       1567 |         _pytest.runner
import time:      1123 |      13545 |       _pytest.main
import time:       768 |      20342 |     _pytest.assertion.rewrite
import time:       136 |        136 |     _pytest.assertion.truncate
import time:       296 |      20773 |   _pytest.assertion
import time:       149 |        149 |           _json
import time:       316 |        465 |         json.scanner
import time:       356 |        820 |       json.decoder
import time:       354 |        354 |       json.encoder
import time:       174 |       1347 |     json
import time:      2901 |       2901 |     _pytest.python
import time:       851 |       5098 |   _pytest.cacheprovider
import time:       851 |        851 |   _pytest.capture
import time:       404 |        404 |   _pytest.debugging
import time:       129 |        129 |   _pytest.freeze_support
import time:       529 |        529 |       signal
import time:       250 |        250 |       fcntl
import time:        66 |         66 |       msvcrt
import time:       100 |        100 |       _posixsubprocess
import time:       572 |       1515 |     subprocess
import time:       372 |        372 |     _pytest.monkeypatch
import time:        43 |         43 |       gc
import time:       657 |        657 |       _pytest.tmpdir
import time:      1237 |       1935 |     _pytest.pytester
import time:      1285 |       1285 |     _pytest.terminal
import time:       845 |       5950 |   _pytest.legacypath
import time:      2559 |       2559 |     logging
import time:      1214 |       3773 |   _pytest.logging
import time:       390 |        390 |         numbers
import time:       593 |        982 |       _decimal
import time:       126 |       1108 |     decimal
import time:       753 |       1860 |   _pytest.python_api
import time:       520 |        520 |   _pytest.recwarn
import time:       433 |     103465 | pytest
import time:       158 |        158 | _pytest.config.compat
import time:       222 |        222 | _pytest.helpconfig
import time:       494 |        494 | _pytest.unittest
import time:      1289 |       1289 | _pytest.skipping
import time:       173 |        173 | _pytest.pastebin
import time:       110 |        110 | _pytest.nose
import time:       115 |        115 |       xml
import time:       124 |        238 |     xml.etree
import time:       411 |        411 |     xml.etree.ElementPath
import time:       304 |        304 |       pyexpat
import time:       248 |        552 |     _elementtree
import time:       738 |       1938 |   xml.etree.ElementTree
import time:       607 |       2544 | _pytest.junitxml
import time:      1255 |       1255 | _pytest.doctest
import time:       239 |        239 | _pytest.setuponly
import time:       195 |        195 | _pytest.setupplan
import time:       235 |        235 | _pytest.stepwise
import time:       341 |        341 | _pytest.warnings
import time:       120 |        120 | _pytest.python_path
import time:       161 |        161 | _pytest.unraisableexception
import time:       158 |        158 | _pytest.threadexception
import time:       182 |        182 | _pytest.faulthandler
import time:       305 |        305 |   glob
import time:       157 |        462 | _pytest._argcomplete
import time:       116 |        116 |       tomli._types
import time:      1125 |       1241 |     tomli._re
import time:       634 |       1875 |   tomli._parser
import time:       169 |       2043 | tomli
import time:       124 |        124 |     packaging.__about__
import time:       169 |        292 |   packaging
import time:       132 |        132 |   packaging._structures
import time:      2116 |       2540 | packaging.version
import time:       127 |        127 |         concurrent
import time:       570 |        570 |         concurrent.futures._base
import time:       179 |        875 |       concurrent.futures
import time:       161 |        161 |         _heapq
import time:       188 |        348 |       heapq
import time:      1102 |       1102 |         _ssl
import time:      2141 |       3242 |       ssl
import time:       252 |        252 |       asyncio.constants
import time:       147 |        147 |       asyncio.coroutines
import time:       141 |        141 |           _contextvars
import time:       133 |        273 |         contextvars
import time:       143 |        143 |         asyncio.format_helpers
import time:       146 |        146 |           asyncio.base_futures
import time:       199 |        199 |           asyncio.exceptions
import time:       156 |        156 |           asyncio.base_tasks
import time:       237 |        736 |         _asyncio
import time:       525 |       1676 |       asyncio.events
import time:       329 |        329 |       asyncio.futures
import time:       202 |        202 |       asyncio.protocols
import time:       269 |        269 |         asyncio.transports
import time:       131 |        131 |         asyncio.log
import time:       757 |       1156 |       asyncio.sslproto
import time:       138 |        138 |           asyncio.mixins
import time:       400 |        400 |           asyncio.tasks
import time:       451 |        989 |         asyncio.locks
import time:       350 |       1338 |       asyncio.staggered
import time:       240 |        240 |       asyncio.trsock
import time:       819 |      10619 |     asyncio.base_events
import time:       554 |        554 |     asyncio.runners
import time:       423 |        423 |     asyncio.queues
import time:       359 |        359 |     asyncio.streams
import time:       317 |        317 |     asyncio.subprocess
import time:       170 |        170 |     asyncio.taskgroups
import time:       325 |        325 |     asyncio.timeouts
import time:       129 |        129 |     asyncio.threads
import time:       240 |        240 |       asyncio.base_subprocess
import time:       557 |        557 |       asyncio.selector_events
import time:       606 |       1402 |     asyncio.unix_events
import time:       318 |      14611 |   asyncio
import time:       258 |        258 |         unittest.util
import time:       255 |        513 |       unittest.result
import time:       569 |        569 |         difflib
import time:       731 |       1300 |       unittest.case
import time:       300 |        300 |       unittest.suite
import time:       531 |        531 |       unittest.loader
import time:       148 |        148 |           unittest.signals
import time:       223 |        371 |         unittest.runner
import time:       223 |        594 |       unittest.main
import time:       234 |       3469 |     unittest
import time:       369 |        369 |     pkgutil
import time:      1629 |       5466 |   unittest.mock
import time:       298 |        298 |   pytest_mock._util
import time:      1267 |      21641 | pytest_mock.plugin
import time:       172 |        172 |   coverage.version
import time:       185 |        185 |     coverage.env
import time:       308 |        308 |           _hashlib
import time:       370 |        370 |           _blake2
import time:       245 |        922 |         hashlib
import time:       282 |        282 |         coverage.exceptions
import time:       606 |        606 |         coverage.misc
import time:       281 |       2089 |       coverage.files
import time:       160 |        160 |       coverage.report
import time:       400 |       2649 |     coverage.annotate
import time:      1450 |       1450 |         configparser
import time:       406 |        406 |         coverage.tomlconfig
import time:       389 |       2244 |       coverage.config
import time:       515 |        515 |       coverage.debug
import time:       225 |        225 |       coverage.disposition
import time:       293 |        293 |       coverage.pytracer
import time:       269 |        269 |       coverage.tracer
import time:       367 |       3910 |     coverage.collector
import time:       179 |        179 |     coverage.context
import time:      1851 |       1851 |             _sqlite3
import time:       395 |       2246 |           sqlite3.dbapi2
import time:       191 |       2436 |         sqlite3
import time:       195 |        195 |         coverage.numbits
import time:       512 |       3142 |       coverage.sqldata
import time:       201 |       3343 |     coverage.data
import time:       231 |        231 |       coverage.results
import time:       223 |        223 |       coverage.templite
import time:       436 |        889 |     coverage.html
import time:       422 |        422 |       sysconfig
import time:       179 |        179 |           coverage.bytecode
import time:       517 |        517 |           coverage.phystokens
import time:       756 |       1451 |         coverage.parser
import time:       227 |        227 |         coverage.plugin
import time:       220 |       1898 |       coverage.python
import time:       309 |       2628 |     coverage.inorout
import time:       171 |        171 |     coverage.jsonreport
import time:       302 |        302 |     coverage.plugin_support
import time:       170 |        170 |     coverage.summary
import time:       274 |        274 |           xml.dom.domreg
import time:       350 |        623 |         xml.dom
import time:       201 |        201 |         xml.dom.minicompat
import time:       137 |        137 |           xml.dom.NodeFilter
import time:       356 |        492 |         xml.dom.xmlbuilder
import time:      1048 |       2364 |       xml.dom.minidom
import time:       242 |       2605 |     coverage.xmlreport
import time:       469 |        469 |           multiprocessing.process
import time:       320 |        320 |               _compat_pickle
import time:       259 |        259 |               _pickle
import time:        90 |         90 |                   org
import time:        15 |        105 |                 org.python
import time:        12 |        117 |               org.python.core
import time:       767 |       1461 |             pickle
import time:       290 |       1751 |           multiprocessing.reduction
import time:       456 |       2675 |         multiprocessing.context
import time:       207 |       2881 |       multiprocessing
import time:       201 |       3081 |     coverage.multiproc
import time:       567 |      20673 |   coverage.control
import time:       179 |      21023 | coverage
import time:        87 |         87 |   StringIO
import time:       317 |        404 | pytest_cov.compat
import time:       329 |        329 |   multiprocessing.util
import time:       376 |        705 | pytest_cov.embed

Aha! Adding --no-cov reveals a warning, at least…

$ python -m pytest --no-covImportError while loading conftest '/home/wk/src/github/aio-libs/aiohttp/tests/conftest.py'.
tests/conftest.py:16: in <module>
    from aiohttp.test_utils import loop_context
aiohttp/__init__.py:209: in <module>
    from .worker import GunicornUVLoopWebWorker, GunicornWebWorker
aiohttp/worker.py:11: in <module>
    from gunicorn.config import AccessLogFormat as GunicornAccessLogFormat
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/gunicorn/config.py:20: in <module>
    from gunicorn import __version__, util
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/gunicorn/util.py:25: in <module>
    import pkg_resources
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/pkg_resources/__init__.py:78: in <module>
    __import__('pkg_resources.extern.packaging.requirements')
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/requirements.py:9: in <module>
    from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/pkg_resources/extern/__init__.py:52: in create_module
    return self.load_module(spec.name)
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/pkg_resources/extern/__init__.py:37: in load_module
    __import__(extant)
/home/wk/.pyenv/versions/aiohttp-pyenv-py3.11.0b5/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing.py:87: in <module>
    import sre_constants
/home/wk/.pyenv/versions/3.11.0b5/lib/python3.11/sre_constants.py:2: in <module>
    warnings.warn(f"module {__name__!r} is deprecated",
E   DeprecationWarning: module 'sre_constants' is deprecated

Looks like I’ll need to play with the filterwarnings to get this going further…

the pytest invocation produces zero output no matter how much verbosity I request from it and the return code is 1:

Fixed that by upgrading coveragepy.

Here’s test summary under Python 3.11 on my machine. @Dreamsorcerer if you have a minute to take a look, these are the tests needing immediate action. I hope it’s the last blocker here.

========================== short test summary info ===========================
SKIPPED [1] tests/test_connector.py:1953: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_connector.py:1963: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_connector.py:1977: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_connector.py:2120: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_multipart_helpers.py:446: should raise decoding error: %82 is invalid for latin1
SKIPPED [1] tests/test_multipart_helpers.py:455: should raise decoding error: %E4 is invalid for utf-8
SKIPPED [1] tests/test_multipart_helpers.py:510: urllib.parse.unquote is tolerate to standalone % chars
SKIPPED [1] tests/test_multipart_helpers.py:519: urllib.parse.unquote is tolerate to standalone % chars
SKIPPED [1] tests/test_multipart_helpers.py:99: need more smart parser which respects quoted text
SKIPPED [1] tests/test_http_parser.py:888: C based HTTP parser not available
SKIPPED [1] tests/test_proxy_functional.py:403: we need to reconsider how we test this
SKIPPED [1] tests/test_proxy_functional.py:429: we need to reconsider how we test this
SKIPPED [1] tests/test_web_request.py:728: The check is applied in DEBUG mode only
SKIPPED [1] tests/test_web_runner.py:199: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_web_runner.py:211: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_websocket_parser.py:402: Requires Cython
SKIPPED [1] tests/test_websocket_parser.py:417: Requires Cython
SKIPPED [1] tests/test_web_functional.py:1874: C based HTTP parser not available
XFAIL tests/test_client_functional.py::test_broken_connection[pyloop]
XFAIL tests/test_connector.py::test_del_with_scheduled_cleanup[pyloop]
XFAIL tests/test_web_functional.py::test_http10_keep_alive_default[pyloop]
XFAIL tests/test_web_request.py::test_handler_return_type[pyloop]
  see https://github.com/aio-libs/aiohttp/issues/4572
XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route]
  Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621
XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route_with_regex]
  Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621
XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urlencoded_route]
  Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621
XFAIL tests/autobahn/test_autobahn.py::test_client
XFAIL tests/autobahn/test_autobahn.py::test_server
ERROR tests/test_web_sendfile_functional.py::test_static_file_if_match[no_sendfile-pyloop-Fri, 31 Dec 0000 23:59:59 GMT]
ERROR tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[sendfile-pyloop-etags0-200-]
FAILED tests/test_http_parser.py::test_c_parser_loaded - AssertionError: as...
FAILED tests/test_web_app.py::test_appkey_repr_concrete - AssertionError: a...
FAILED tests/test_web_app.py::test_appkey_repr_nonconcrete - AssertionError...
FAILED tests/test_web_app.py::test_appkey_repr_annotated - AssertionError: ...
FAILED tests/test_web_server.py::test_unsupported_upgrade[pyloop]

(https://github.com/aio-libs/aiohttp/runs/7661304595?check_suite_focus=true#step:10:4640)

Here’s test summary under Python 3.11 on my machine

Oh, it looks like I was running pytest under a wrong Python version that time. Need to re-test.

Here’s a more relevant list of failures:

FAILED tests/test_client_functional.py::test_timeout_on_reading_headers[pyloop]
FAILED tests/test_client_functional.py::test_timeout_on_conn_reading_headers[pyloop]
FAILED tests/test_loop.py::TestCase::test_default_loop - RuntimeError: Ther...
FAILED tests/test_loop.py::TestCase::test_on_startup_hook - RuntimeError: T...
FAILED tests/test_test_utils.py::TestAioHTTPTestCase::test_example_with_loop
FAILED tests/test_test_utils.py::TestAioHTTPTestCase::test_example_without_explicit_loop
FAILED tests/test_test_utils.py::TestAioHTTPTestCase::test_inner_example - ...
FAILED tests/test_test_utils.py::TestAioHTTPTestCase::test_inner_example_without_explicit_loop

python 3.11 is now a Release Candidate with Python 3.11.0b5, any chance you guys could get this working for 3.11 now?

So there is no way to get this to work on Python3.11.0rc1?

python 3.11 is now a Release Candidate with Python 3.11.0b5, any chance you guys could get this working for 3.11 now?

Yes, there is a chance.

So there is no way to get this to work on Python3.11.0rc1?

pip install git+...

@webknjaz wouldn’t it be a bit misleading to suggest pip install git+... method currently? since it errors and doesn’t work yet on Python 3.11.0rc1.

(py311env) ➜  ~ pip install --no-cache -U git+https://github.com/aio-libs/aiohttp.git
Collecting git+https://github.com/aio-libs/aiohttp.git
  Cloning https://github.com/aio-libs/aiohttp.git to /tmp/pip-req-build-ekcotr_u
  Running command git clone --filter=blob:none --quiet https://github.com/aio-libs/aiohttp.git /tmp/pip-req-build-ekcotr_u
  Resolved https://github.com/aio-libs/aiohttp.git to commit 5bf9b4aae7046704b418c16452c2d1ced934abfb
  Running command git submodule update --init --recursive -q
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting charset-normalizer<3.0,>=2.0
  Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Requirement already satisfied: multidict<7.0,>=4.5 in ./py311env/lib/python3.11/site-packages (from aiohttp==4.0.0a1) (6.0.2)
Collecting async-timeout<5.0,>=4.0
  Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Requirement already satisfied: yarl<2.0,>=1.0 in ./py311env/lib/python3.11/site-packages (from aiohttp==4.0.0a1) (1.8.1)
Collecting typing-extensions>=3.7.4
  Downloading typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Requirement already satisfied: frozenlist>=1.1.1 in ./py311env/lib/python3.11/site-packages (from aiohttp==4.0.0a1) (1.3.1)
Collecting aiosignal>=1.1.2
  Downloading aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Requirement already satisfied: idna>=2.0 in ./py311env/lib/python3.11/site-packages (from yarl<2.0,>=1.0->aiohttp==4.0.0a1) (3.3)
Building wheels for collected packages: aiohttp
  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
  ╰─> [88 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/client_proto.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_runner.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_routedef.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/helpers.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/client_ws.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/locks.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/worker.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/client_reqrep.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/client_exceptions.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/connector.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/typedefs.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/streams.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/tcp_helpers.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/tracing.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/__init__.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/multipart.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_server.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/test_utils.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_request.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/http_parser.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/base_protocol.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/http_exceptions.py -> build/lib.linux-aarch64-cpython-311/aiohttp      copying aiohttp/http_writer.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/http.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/log.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/resolver.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_protocol.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_middlewares.py -> build/lib.linux-aarch64-cpython-311/aiohttp      copying aiohttp/pytest_plugin.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/hdrs.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/formdata.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_response.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_ws.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_fileresponse.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/client.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/abc.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/payload.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/http_websocket.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/cookiejar.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_log.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_app.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_urldispatcher.py -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/web_exceptions.py -> build/lib.linux-aarch64-cpython-311/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.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/_find_header.pxd -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/_helpers.pyi -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/_helpers.pyx -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/_http_parser.pyx -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/_http_writer.pyx -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/_websocket.pyx -> build/lib.linux-aarch64-cpython-311/aiohttp
      copying aiohttp/py.typed -> build/lib.linux-aarch64-cpython-311/aiohttp
      running build_ext
      building 'aiohttp._websocket' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/aiohttp
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/ubuntu/py311env/include -I/usr/include/python3.11 -c aiohttp/_websocket.c -o build/temp.linux-aarch64-cpython-311/aiohttp/_websocket.o
      cc1: fatal error: aiohttp/_websocket.c: No such file or directory
      compilation terminated.
      error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aiohttp
Failed to build aiohttp
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
(py311env) ➜  ~ python -V
Python 3.11.0rc1

since it errors and doesn’t work yet on Python 3.11.0rc1.

Not really. I forgot to mention that if you want C-extensions, you’d have to clone and run make cythonize. If you don’t, AIOHTTP_NO_EXTENSIONS=1 pip install git+.. should work letting you use pure-python fallbacks (that are slower, obviously).

@webknjaz I’m sorry, I don’t get it. How am I supposed to install this package into my Python env? running make fails with various errors. Last error I got when running make is:

make: *** No rule to make target 'vendor/llhttp/package.json', needed by 'vendor/llhttp/node_modules'. Stop.

If I run:
pip install --no-cache -U git+https://github.com/aio-libs/aiohttp.git

It fails with the error @ow0x mentioned

If I run pip install ./aiohttp on the cloned repo where I did make cythonize it also fails with:

aiohttp/_http_parser.c:749:10: fatal error: ../vendor/llhttp/build/llhttp.h: No such file or directory
        749 | #include "../vendor/llhttp/build/llhttp.h"
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

I just want to install aiohttp in a python3.11 env.. it’s proving to be impossible.

It should be make cythonize (creates C-files out of the pyx modules), followed by something like python -m build or pip install . depending on what you want.

Looks like make generate-llhttp is needed too, (and maybe synching git submodules?). FWIW check what the CI calls and follow that. It now runs a py3.11 job on master successfully.

@webknjaz That seems to have worked, thank you!
Btw, make generate-llhttp has this issue:

5 vulnerabilities (3 moderate, 1 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

I fixed it by doing cd vendor/llhttp && npm audit fix

I fixed it by doing cd vendor/llhttp && npm audit fix

I suspect we actually just need to update the submodule to the latest release of llhttp.

@webknjaz after installing aiohttp from github, I tried installing my projects requirements and it still tried to build and install aiohttp wheel. Why wouldn’t it use the already installed aiohttp? It even printed:

Requirement already satisfied: aiohttp>=3.8 in /home/azureuser/pyenvs/env-trader-py311/lib/python3.11/site-packages (from ccxt==1.92.49->-r requirements.txt (line 4)) (4.0.0a1)

But then later it printed:

Building wheels for collected packages: cryptofeed, matplotlib, pandas, pyserum, rxpy-backpressure, ujson, **aiohttp**, yarl, aiofile, construct, jsonrpcclient, jsonrpcserver, order-book, websockets, yapic.json, zstandard, cchardet, uvloop, psutil, pyrsistent

Notice aiohttp was mentioned above. Why would it try to build it again? sorry to bother you with too many questions.

Dunno, why aren’t you using the 3.8 branch? Master is not ready for public consumption. Maybe because 4.0 is alpha and you didn’t use --pre, not did you request a specific alpha release. FWIW it’s more of a pip question, then aiohttp.

Hey everyone,
in case it might be useful to others, the way I got this working in the CI with Python=3.11 is:

AIOHTTP_NO_EXTENSIONS=1 python -m pip install aiohttp --no-binary aiohttp

Cheers,
Andreas 😃

That reminds me of pyyaml which automatically fallsback to no-extension when the compilation fails during install. To be it sounds a little bit more resilient,… with the risk that some users will use the considerably slower version, likely without even noticing.

i have a question, does using AIOHTTP_NO_EXTENSIONS=1 & --no-binary have any effects on the performance of aiohttp?

i have a question, does using AIOHTTP_NO_EXTENSIONS=1 & --no-binary have any effects on the performance of aiohttp?

Yes. With no C-extensions, aiohttp uses pure-Python fallbacks for things that are usually performance bottlenecks. Hence, it’ll be slower. Use it for testing/playing around but not for production.

So the problem on the 3.9 branch in GHA under Windows seems to be that this fix #6756 hasn’t been backported. A backport PR for it exists, it just was never merged: #6759. Merging now…

Still working on it. Be patient.

UPD: 3.9 branch is green now. The last bit necessary was backporting removal of Python 3.5 support that was only applied to the master branch: #4046 (comment). Apparently, async-generator explodes sometimes under Python 3.11. It was still present in the 3.8 and 3.9, forgotten there and we’ve only started seeing the problems now. Those branches don’t support Python 3.5 so it was safe to just cherry-pick that PR.

Next up: making the 3.8 branch green is still needed. The failures seem to be something that’s already fixed on master and 3.9 so maybe I’ll be lucky to find something to backport too.

UPD: 3.8 is green too. I’ll now have to see how the release automation is doing and maybe make some changes before cutting the release.

UPD: I’ve started adding new CI jobs. The only one for Python 3.11 was Ubuntu but after adding macos and Windows, new things poped up. That’s another blocker for now.

Going to make a release of v3.8.2 soon’ish. There’s flaky stuff that hasn’t been fixed and weird things that happen under win and macos (now allowed to fail in CI). But this should unblock most people linking this issue.

If anybody’s up to helping us make the CI greener, PRs are welcome and will be prioritized over adding features. Check out the recent CI runs to see what’s flaky.

I’m going to yank v3.8.2 on PyPI due to the overly restrictive multidict boundaries per #6550 (comment) and the same problem reported through other channels.

I’ll include the fix from #6950 into v3.8.3 shortly.

Broken in python:3.12.0a2-alpine docker image

#8 31.93       building 'aiohttp._websocket' extension
#8 31.93       creating build/temp.linux-aarch64-cpython-312
#8 31.93       creating build/temp.linux-aarch64-cpython-312/aiohttp
#8 31.93       gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.12 -c aiohttp/_websocket.c -o build/temp.linux-aarch64-cpython-312/aiohttp/_websocket.o
#8 31.93       aiohttp/_websocket.c:198:12: fatal error: longintrepr.h: No such file or directory
#8 31.93         198 |   #include "longintrepr.h"
#8 31.93             |            ^~~~~~~~~~~~~~~
#8 31.93       compilation terminated.
#8 31.93       error: command '/usr/bin/gcc' failed with exit code 1
#8 31.93       [end of output]

I don’t believe this is happening with aiohttp 3.8.3+. You must update for Python 3.11+ support. The C-extension files in old sdists are generated with an older Cython version, there is no way to retroactively substitute those sdists on PyPI.

Perhaps it would be best to have a separate issue about Python 3.12 support because most users will not be super interested for the next 9 months.

FWIW we usually need to wait for Cython to catch up with CPython and can’t start testing upfront.

Indeed this is 3.8.1

#8 25.56 Collecting aiohttp==3.8.1
#8 25.57   Downloading aiohttp-3.8.1.tar.gz (7.3 MB)
#8 26.62      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 7.0 MB/s eta 0:00:00

3.8.3 solved the problem for us. Apologies.

Issue

Error while installing manimce, I have been trying to install manimce library on windows subsystem for linux and after running

pip install manimce
Collecting manimce
  Downloading manimce-0.1.1.post2-py3-none-any.whl (249 kB)
     |████████████████████████████████| 249 kB 257 kB/s
Collecting Pillow
  Using cached Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
Collecting scipy
  Using cached scipy-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.3 MB)
Collecting colour
  Using cached colour-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting pangocairocffi<0.5.0,>=0.4.0
  Downloading pangocairocffi-0.4.0.tar.gz (17 kB)
  Preparing metadata (setup.py) ... done
Collecting numpy
  Using cached numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)
Collecting pydub
  Using cached pydub-0.25.1-py2.py3-none-any.whl (32 kB)
Collecting pygments
  Using cached Pygments-2.10.0-py3-none-any.whl (1.0 MB)
Collecting cairocffi<2.0.0,>=1.1.0
  Downloading cairocffi-1.3.0.tar.gz (88 kB)
     |████████████████████████████████| 88 kB 160 kB/s
  Preparing metadata (setup.py) ... done
Collecting tqdm
  Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
Collecting pangocffi<0.9.0,>=0.8.0
  Downloading pangocffi-0.8.0.tar.gz (33 kB)
  Preparing metadata (setup.py) ... done
Collecting pycairo<2.0,>=1.19
  Using cached pycairo-1.20.1.tar.gz (344 kB)

  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting progressbar
  Downloading progressbar-2.5.tar.gz (10 kB)
  Preparing metadata (setup.py) ... done
Collecting rich<7.0,>=6.0
  Using cached rich-6.2.0-py3-none-any.whl (150 kB)
Collecting cffi>=1.1.0
  Using cached cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (446 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting typing-extensions<4.0.0,>=3.7.4
  Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB)
Collecting colorama<0.5.0,>=0.4.0
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: cairocffi, pangocairocffi, pangocffi, pycairo, progressbar
  Building wheel for cairocffi (setup.py) ... done
  Created wheel for cairocffi: filename=cairocffi-1.3.0-py3-none-any.whl size=89650 sha256=afc73218cc9fa1d844d7165f598e2be0428598166b4c3ed9de5bbdc94a0a6977
  Stored in directory: /home/yusifer_zendric/.cache/pip/wheels/f3/97/83/8022b9237866102e18d1b7ac0a269769e6fccba0f63dceb9b7
  Building wheel for pangocairocffi (setup.py) ... done
  Created wheel for pangocairocffi: filename=pangocairocffi-0.4.0-py3-none-any.whl size=19283 sha256=54399796259c6e24f9ab56c5747ab273dcf97fb6fed3e7b54935f9ac49351d50
  Stored in directory: /home/yusifer_zendric/.cache/pip/wheels/60/58/92/507a12a5044f7fcda6f4dfd8e0a607cc1fe957bc0dea885906
  Building wheel for pangocffi (setup.py) ... done
  Created wheel for pangocffi: filename=pangocffi-0.8.0-py3-none-any.whl size=37899 sha256=bea348af93696816b046dd901aa60d29a464460c5faac67628eb7e1ea7d1807d
  Stored in directory: /home/yusifer_zendric/.cache/pip/wheels/c4/df/6d/e9d0f79b1545f6e902cc22773b1429de7a5efc240b891ee009
  Building wheel for pycairo (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/yusifer_zendric/manim_ce/venv/bin/python /home/yusifer_zendric/manim_ce/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpuguwzu3u
       cwd: /tmp/pip-install-l4hqdegr/pycairo_f4d80b8f3e4840a3802342825adcdff5
  Complete output (12 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/cairo
  copying cairo/__init__.py -> build/lib.linux-x86_64-3.8/cairo
  copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.8/cairo
  copying cairo/py.typed -> build/lib.linux-x86_64-3.8/cairo
  running build_ext
  'pkg-config' not found.
  Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']
  ----------------------------------------
  ERROR: Failed building wheel for pycairo
  Building wheel for progressbar (setup.py) ... done
  Created wheel for progressbar: filename=progressbar-2.5-py3-none-any.whl size=12074 sha256=7290ef8de5dd955bf756b90130f400dd19c2cc9ea050a5a1dce2803440f581e2
  Stored in directory: /home/yusifer_zendric/.cache/pip/wheels/2c/67/ed/d84123843c937d7e7f5ba88a270d11036473144143355e2747
Successfully built cairocffi pangocairocffi pangocffi progressbar
Failed to build pycairo
ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
(venv) [email protected]:~/manim_ce$
(venv) [email protected]:~/manim_ce$ pip install manim_ce
ERROR: Could not find a version that satisfies the requirement manim_ce (from versions: none)
ERROR: No matching distribution found for manim_ce
(venv) [email protected]:~/manim_ce$ manim example_scenes/basic.py -pql

Command 'manim' not found, did you mean:

  command 'maim' from deb maim (5.5.3-1build1)

Try: sudo apt install <deb name>

(venv) [email protected]:~/manim_ce$ sudo apt-get install manim
[sudo] password for yusifer_zendric:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package manim
(venv) [email protected]:~/manim_ce$ pip3 install manimlib
Collecting manimlib
  Downloading manimlib-0.2.0.tar.gz (4.8 MB)
     |████████████████████████████████| 4.8 MB 498 kB/s
  Preparing metadata (setup.py) ... done
Collecting Pillow
  Using cached Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
Collecting argparse
  Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
Collecting colour
  Using cached colour-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting numpy
  Using cached numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)
Collecting opencv-python
  Downloading opencv_python-4.5.4.60-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (60.3 MB)
     |████████████████████████████████| 60.3 MB 520 kB/s
Collecting progressbar
  Using cached progressbar-2.5-py3-none-any.whl
Collecting pycairo
  Using cached pycairo-1.20.1.tar.gz (344 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pydub
  Using cached pydub-0.25.1-py2.py3-none-any.whl (32 kB)
Collecting pygments
  Using cached Pygments-2.10.0-py3-none-any.whl (1.0 MB)
Collecting scipy
  Using cached scipy-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.3 MB)
Collecting tqdm
  Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
Building wheels for collected packages: manimlib, pycairo
  Building wheel for manimlib (setup.py) ... done
  Created wheel for manimlib: filename=manimlib-0.2.0-py3-none-any.whl size=212737 sha256=27efe2c226d80cfe5663928e980d3e5f5a164d8e9d0aacea5014d37ffdedb76a
  Stored in directory: /home/yusifer_zendric/.cache/pip/wheels/87/36/c1/2db5ed5de9908034108f3c39538cd3367445d9cec01e7c8c23
  Building wheel for pycairo (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/yusifer_zendric/manim_ce/venv/bin/python /home/yusifer_zendric/manim_ce/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp5o2970su
       cwd: /tmp/pip-install-sxxp3lw2/pycairo_d372a62d0c6b4c4484391402d21485e1
  Complete output (12 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/cairo
  copying cairo/__init__.py -> build/lib.linux-x86_64-3.8/cairo
  copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.8/cairo
  copying cairo/py.typed -> build/lib.linux-x86_64-3.8/cairo
  running build_ext
  'pkg-config' not found.
  Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']
  ----------------------------------------
  ERROR: Failed building wheel for pycairo
Successfully built manimlib
Failed to build pycairo
ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects

all the libraries are installed accept the pycairo library. It’s just showing this to install pyproject.toml error. Infact I have already done pip install pyproject.toml and it is installed then also it’s showing the same error.

Solution

apt-get install sox ffmpeg libcairo2 libcairo2-dev
apt-get install texlive-full
pip3 install manimlib  # or pip install manimlib

Then:

pip3 install manimce  # or pip install manimce

And everything works.

Answered By — Yevgeniy Kosmak

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error failed building wheel for dlib
  • Error 8 недостаточно памяти для обработки команды stalker
  • Error 8 кофемашина jura как исправить ошибку
  • Error 8 there is not enough memory available
  • Error failed building wheel for cryptography

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии