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.2781615Z │ exit 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 type ‘PyFrameObject’ {aka ‘struct _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_SetLineNumber’ 2022-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.
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
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.
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
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-binaryhave 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




