You may sometimes see an error like:
could not find a version that satisfies the requirement aiohttp<3.5.0>=3.3.0
This happens when your project has conflicting version requirements for the aiohttp package.
What does this error mean?
Essentially, one part of your project requires aiohttp>=3.3.0, while another part requires aiohttp<3.5.0. So there is no single aiohttp version that can satisfy both requirements simultaneously.
Why does this happen?
Usually because your project has multiple dependencies (or sub-dependencies) that rely on different versions of aiohttp. For example, module A may require aiohttp>=3.4, while module B requires aiohttp<3.5.
How can this be resolved?
Here are a few options:
Key Takeaways
Start by inspecting your dependencies and their specified aiohttp requirements. The key is coordinating all packages in your project to use a mutually compatible aiohttp release. This may require iterating on relaxing constraints, upgrading packages, and pinning versions until a resolution is found.