The Fix
Adds the Windows 11 ARM64 runner image to the CI/CD workflow, enabling the build of win_arm64 wheels for aiohttp.
Based on closed aio-libs/aiohttp issue #11937 · PR/commit linked
Production note: Most teams hit this during upgrades or environment changes. Roll out with a canary and smoke critical endpoints (health, OpenAPI/docs) before 100%.
@@ -372,7 +372,7 @@ jobs:
strategy:
matrix:
- os: ["ubuntu-latest", "windows-latest", "macos-latest", "ubuntu-24.04-arm"]
+ os: ["ubuntu-latest", "windows-latest", "windows-11-arm", "macos-latest", "ubuntu-24.04-arm"]
qemu: ['']
$ python -m pip show aiohttp
Name: aiohttp
Version: 3.13.2
Summary: Async http client/server framework (asyncio)
Home-page: https://github.com/aio-libs/aiohttp
Author:
Author-email:
License: Apache-2.0 AND MIT
Location: C:\Users\user\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages
Requires: aiohappyeyeballs, aiosignal, attrs, frozenlist, multidict, propcache, yarl
Required-by: discord.py
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
Option A — Apply the official fix\nAdds the Windows 11 ARM64 runner image to the CI/CD workflow, enabling the build of win_arm64 wheels for aiohttp.\nWhen NOT to use: This fix is not applicable if the build environment does not support Windows ARM64.\n\n
Why This Fix Works in Production
- Trigger: ERROR: Cannot install -r ./requirements.txt (line 3) because these package versions have conflicting dependencies.
- Mechanism: The absence of win_arm64 wheels for aiohttp prevents installation on Windows ARM64 platforms
- If left unfixed, the same config can fail only in production (env differences), causing startup failures or partial feature outages.
Why This Breaks in Prod
- The absence of win_arm64 wheels for aiohttp prevents installation on Windows ARM64 platforms
- Surfaces as: ERROR: Cannot install -r ./requirements.txt (line 3) because these package versions have conflicting dependencies.
Proof / Evidence
- GitHub issue: #11937
- Fix PR: https://github.com/aio-libs/aiohttp/pull/11938
- Reproduced locally: No (not executed)
- Last verified: 2026-02-09
- Confidence: 0.70
- Did this fix it?: Yes (upstream fix exists)
- Own content ratio: 0.52
Discussion
High-signal excerpts from the issue thread (symptoms, repros, edge-cases).
“An option for building the arm64 windows wheels is to add in the windows-11-arm64 runner images in github actions if they are used to publish…”
“@asvetlov mind looking into this and seeing if it is possible to set up building win_arm64 wheels for aiohttp just like what is happening for…”
“I think this is the build steps, so maybe they need to be aligned: https://github.com/aio-libs/multidict/blob/e8bf2ad734ff3dd4a1c79ca16220c1afb3dc8b5a/.github/workflows/ci-cd.yml#L500-L529 https://github.com/aio-libs/aiohttp/blob/d5c7e0fc99822226c7a85dffffe2f4”
“That would be great as well, I thought that just adding the new windows-11-arm runner might work as well but syncing this setup to here…”
Failure Signature (Search String)
- ERROR: Cannot install -r ./requirements.txt (line 3) because these package versions have conflicting dependencies.
Error Message
Stack trace
Error Message
-------------
ERROR: Cannot install -r ./requirements.txt (line 3) because these package versions have conflicting dependencies.
Stack trace
Error Message
-------------
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Stack trace
Error Message
-------------
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
Minimal Reproduction
$ python -m pip show aiohttp
Name: aiohttp
Version: 3.13.2
Summary: Async http client/server framework (asyncio)
Home-page: https://github.com/aio-libs/aiohttp
Author:
Author-email:
License: Apache-2.0 AND MIT
Location: C:\Users\user\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages
Requires: aiohappyeyeballs, aiosignal, attrs, frozenlist, multidict, propcache, yarl
Required-by: discord.py
What Broke
Users cannot install aiohttp on win_arm64, leading to installation failures.
Why It Broke
The absence of win_arm64 wheels for aiohttp prevents installation on Windows ARM64 platforms
Fix Options (Details)
Option A — Apply the official fix
Adds the Windows 11 ARM64 runner image to the CI/CD workflow, enabling the build of win_arm64 wheels for aiohttp.
Fix reference: https://github.com/aio-libs/aiohttp/pull/11938
Last verified: 2026-02-09. Validate in your environment.
When NOT to Use This Fix
- This fix is not applicable if the build environment does not support Windows ARM64.
Verify Fix
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
Did This Fix Work in Your Case?
Quick signal helps us prioritize which fixes to verify and improve.
Prevention
- Capture the exact failing error string in logs and tests so you can reproduce via a minimal script.
- Pin production dependencies and upgrade only with a reproducible test that hits the failing path.
Related Issues
No related fixes found.
Sources
We don’t republish the full GitHub discussion text. Use the links above for context.