-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fails to build on Python 3.11 - longintrepr.h: No such file or directory #6600
Comments
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. |
I think this is the case 🤔 |
Seems that way. |
* Without the upper bound, it tries to use Python 3.11 and aiohttp fails to build. (aio-libs/aiohttp#6600)
* We use Pants (www.pantsbuild.org) as our build toolchain. - Details will follow in subsequent document updates. * Add a custom setup generator plugin for Pants - It single-sources the version number from VERSION. - It takes the description, license, name from kwargs. - It validates the package name to start with "backend.ai-". - It takes the long-description from package-specific README. * Add a custom platform-specific dependency selector for Pants - It provides `platform_resources()` target with a per-platform dependency map. (Thanks to Andreas Stenius) * Move mypy/pytest configs to root `pyproject.toml` - flake8 does not support pyproject.toml yet (PyCQA/flake8#234), so keep it at `.flake8` - Explicitly add `setuptools` as requirement of flake8 because flake8 uses `pkg_resources` to detect its own plugin entrypoints. * Implement entrypoint scan with BUILD files for CLI * Our new plugin subsystem (`ai.backend.plugin`) uses `importlib`-based entrypoints. - This removes dependency to setuptools at runtime. * Update gitignore * Add `./py`, `./backend.ai` shortcuts to run commands in exported venv - Finally implement truly unified CLI via `./backend.ai`! * Rewrite GitHub Actions workflows * Notable non-trivial Pants configs - Set `[GLOBAL].local_execution_root_dir` to a non-tmp directory because Snap-based Docker cannot access it! - `aiosqlite` is not explicitly imported but specified as a SQLAlchemy server URL scheme, so declare a manual dependency in manager tests. - Add `[pytest].execution_slot_var` config for test parallelization * Mark storage-proxy tests as "integration" that require external dependency - Integration tests are skipped! * Update test fixtures - Spawn a single-node etcd container with OS-assigned port numbers - Self-bootstrap db containers for isolated and parallel testing * Reorganize packages - ai.backend.helpers -> backend.ai-kernel-helper - ai.backend.kernel -> backend.ai-kernel - ai.backend.runner -> backend.ai-kernel-binary * Let it build packages for only Python 3.10 - Without the upper bound, it tries to use Python 3.11-dev if available but aiohttp fails to build there. (aio-libs/aiohttp#6600) * Rewrite scripts/install-dev and scripts/delete-dev - Change the container volume path for halfstack containers to "./volumes" - When Docker is installed via Snap, it must be 20.10.15 or later to have a working `docker compose` (v2) plugin with `sudo`. - Remove the auto-install routine but just show the guides - Now we support and use docker-compose v2 only * Import `backend.ai-common` source (c864ccbe1) * Import `backend.ai-agent` source (98aeeb98) * Import `backend.ai-manager` source (85d16f0) * Import `backend.ai-client-py` source (b6d03cc) * Import `backend.ai-webserver` source (81506cc) * Import `backend.ai-storage-proxy` source (8019533) * Import `backend.ai-tester` source (ab85fab5c) Co-authored-by: Andreas Stenius <git@astekk.se>
- >= 3.10 add a warning that `get_event_loop` will not automatically create a loop - Move to explicit API Test: - `python3.11 -m venv --upgrade-deps /tmp/tb` - `/tmp/tb/bin/pip install -e .` - Install deps and no blackd as aiohttp + yarl can't build still with 3.11 - aio-libs/aiohttp#6600 - `export PYTHONWARNINGS=error` ``` cooper@l33t:~/repos/black$ /tmp/tb/bin/black . All done! ✨ 🍰 ✨ 44 files left unchanged. ``` Fixes #3110
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. |
* Move to explicitly creating a new loop - >= 3.10 add a warning that `get_event_loop` will not automatically create a loop - Move to explicit API Test: - `python3.11 -m venv --upgrade-deps /tmp/tb` - `/tmp/tb/bin/pip install -e .` - Install deps and no blackd as aiohttp + yarl can't build still with 3.11 - aio-libs/aiohttp#6600 - `export PYTHONWARNINGS=error` ``` cooper@l33t:~/repos/black$ /tmp/tb/bin/black . All done! ✨ 🍰 ✨ 44 files left unchanged. ``` Fixes #3110 * Add to CHANGES.md * Fix a cooper typo yet again * Set default asyncio loop to our explicitly created one + unset on exit * Update CHANGES.md Fix my silly typo. Co-authored-by: Thomas Grainger <tagrain@gmail.com> Co-authored-by: Cooper Ry Lees <me@wcooperlees.com> Co-authored-by: Thomas Grainger <tagrain@gmail.com>
Test a workaround for aio-libs#6600
thank you this solve my problem, i just install it with pip3 install cython |
The imjoy-elfinder dependency brings in aiohttp but <= 3.8.2 does not build for Python 3.11. For 3.11 make sure we use aiohttp>=3.8.2. aio-libs/aiohttp#6600
Seems aiohttp has issues with being able to build with newer Python versions. aio-libs/aiohttp#6600
There are still some issues with that it seems. aio-libs/aiohttp#6600
Seems aiohttp has issues with being able to build with newer Python versions. aio-libs/aiohttp#6600
There are still some issues with that it seems. aio-libs/aiohttp#6600
Seems aiohttp has issues with being able to build with newer Python versions. aio-libs/aiohttp#6600
There are still some issues with that it seems. aio-libs/aiohttp#6600
I errorsame × Building wheel for fastbpe (pyproject.toml) did not run successfully. note: This error originates from a subprocess, and is likely not a problem with pip. |
fastbpe is not aiohttp... |
I see it same bug |
fastbpe has not been updated in 5 years, that's your problem. Nothing to do with us... |
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
Python Version
3.11
aiohttp Version
latest
multidict Version
n/a
yarl Version
latest
OS
Any
Related component
Server, Client
Additional context
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: