Unable to contribute due to aiohttp package
System Info
I used conda and python env both but was unable to setup up the dev mode:
poetry install --all-extras --with dev
attached are the logs for conda env. everything except this gets installed, I am unable to contribute due to this. python version 3.12.0
conda create --name pandasai python=3.12.0 conda activate pandasai pipx run poetry install --all-extras --with dev
🐛 Describe the bug
Installing dependencies from lock file
Package operations: 169 installs, 0 updates, 0 removals
- Installing aiohttp (3.8.6): Failed
ChefBuildError
Backend subprocess exited when trying to invoke build_wheel
- Accelerated build *
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-cpython-312
creating build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_ws.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/worker.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/multipart.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_response.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/client_ws.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/test_utils.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/tracing.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_exceptions.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_middlewares.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/http_exceptions.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_app.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/streams.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_protocol.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/log.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/client.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_urldispatcher.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_request.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/http_websocket.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/client_proto.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/locks.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/init.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_runner.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_server.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/base_protocol.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/payload.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/client_reqrep.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/http.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_log.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/resolver.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/formdata.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/payload_streamer.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_routedef.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/connector.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/client_exceptions.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/typedefs.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/hdrs.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/web_fileresponse.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/http_writer.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/tcp_helpers.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/helpers.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/http_parser.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/cookiejar.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/pytest_plugin.py -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/abc.py -> build/lib.macosx-10.9-x86_64-cpython-312/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.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_find_header.pxd -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_headers.pxi -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_helpers.pyi -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_helpers.pyx -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_http_parser.pyx -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_http_writer.pyx -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/_websocket.pyx -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
copying aiohttp/py.typed -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp
creating build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_cparser.pxd.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_find_header.pxd.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_helpers.pyi.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_helpers.pyx.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_http_parser.pyx.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_http_writer.pyx.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/_websocket.pyx.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
copying aiohttp/.hash/hdrs.py.hash -> build/lib.macosx-10.9-x86_64-cpython-312/aiohttp/.hash
running build_ext
building 'aiohttp._websocket' extension
creating build/temp.macosx-10.9-x86_64-cpython-312
creating build/temp.macosx-10.9-x86_64-cpython-312/aiohttp
clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include -fPIC -O2 -isystem /Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include -I/var/folders/lg/fsmn_tz10713v8drby7k2rwr0000gn/T/tmpkyiryl1o/.venv/include -I/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12 -c aiohttp/_websocket.c -o build/temp.macosx-10.9-x86_64-cpython-312/aiohttp/_websocket.o
aiohttp/_websocket.c:1475:17: warning: 'Py_OptimizeFlag' is deprecated [-Wdeprecated-declarations]
if (unlikely(!Py_OptimizeFlag)) {
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/cpython/pydebug.h:13:1: note: 'Py_OptimizeFlag' has been explicitly marked deprecated here
Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag;
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) attribute((deprecated))
^
aiohttp/_websocket.c:2680:27: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
^
aiohttp/_websocket.c:1118:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
Py_DEPRECATED(3.12) uint64_t ma_version_tag;
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) attribute((deprecated))
^
aiohttp/_websocket.c:2692:36: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
return (dictptr && dictptr) ? __PYX_GET_DICT_VERSION(dictptr) : 0;
^
aiohttp/_websocket.c:1118:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject)(dict))->ma_version_tag)
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
Py_DEPRECATED(3.12) uint64_t ma_version_tag;
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) attribute((deprecated))
^
aiohttp/_websocket.c:2696:56: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
^
aiohttp/_websocket.c:1118:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject)(dict))->ma_version_tag)
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
Py_DEPRECATED(3.12) uint64_t ma_version_tag;
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) attribute((deprecated))
^
aiohttp/_websocket.c:2741:9: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
__PYX_PY_DICT_LOOKUP_IF_MODIFIED(
^
aiohttp/_websocket.c:1125:16: note: expanded from macro '__PYX_PY_DICT_LOOKUP_IF_MODIFIED'
if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {
^
aiohttp/_websocket.c:1118:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
Py_DEPRECATED(3.12) uint64_t ma_version_tag;
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) attribute((deprecated))
^
aiohttp/_websocket.c:2741:9: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
__PYX_PY_DICT_LOOKUP_IF_MODIFIED(
^
aiohttp/_websocket.c:1129:30: note: expanded from macro '__PYX_PY_DICT_LOOKUP_IF_MODIFIED'
__pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);
^
aiohttp/_websocket.c:1118:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
Py_DEPRECATED(3.12) uint64_t ma_version_tag;
^
/Users/vishwajeetdabholkar/opt/anaconda3/envs/pandasai/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) attribute((deprecated))
^
aiohttp/_websocket.c:3042:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
aiohttp/_websocket.c:3097:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
aiohttp/_websocket.c:3238:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
aiohttp/_websocket.c:3293:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
aiohttp/_websocket.c:3744:47: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)b)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
6 warnings and 5 errors generated.
error: command '/usr/bin/clang' failed with exit code 1
at ~/.local/pipx/.cache/381e224a41e0f6e/lib/python3.12/site-packages/poetry/installation/chef.py:164 in _prepare 160│ 161│ error = ChefBuildError("\n\n".join(message_parts)) 162│ 163│ if error is not None: → 164│ raise error from None 165│ 166│ return path 167│ 168│ def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
Note: This error originates from the build backend, and is likely not a problem with poetry but with aiohttp (3.8.6) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "aiohttp (==3.8.6)"'.
@vishwajeetdabholkar Hello! I'm here to help you with your issue. I'm a bot created to assist you in solving bugs, answering questions, and becoming a contributor. Let's tackle this together while we wait for a human maintainer.
To resolve the issue with the aiohttp (3.8.6) package not being compatible with Python 3.12.0, you can modify the pyproject.toml file to specify a compatible version of aiohttp. Here is an example of how you can specify a compatible version:
[tool.poetry.dependencies]
python = ">=3.9,<3.9.7 || >3.9.7,<4.0"
aiohttp = "^3.8.7" # Assuming 3.8.7 or later is compatible with Python 3.12.0
If aiohttp is a transitive dependency, you might need to override it by adding a specific version constraint in the [tool.poetry.dependencies] section [1].
Additionally, be aware that there are other packages in the pandas-ai project with known compatibility issues with Python 3.12.0:
sqlalchemy-bigqueryis compatible with Python versions>=3.8and<3.13.ibm-watsonx-aiis compatible with Python versions>=3.10.pinecone-clientis compatible with Python versions>=3.10[1].
You may need to adjust these dependencies as well to ensure full compatibility with Python 3.12.0.
To continue talking to Dosu, mention @dosu.