JamesIves / discord-wow-armory-bot

⚔️🗡️ World of Warcraft bot for Discord which checks a characters item level, notable achievements and pve/pvp progression and posts it in the chat.
https://jamesiv.es/python/2017/07/18/discord-wow-bot
MIT License
33 stars 25 forks source link

discord-wow-armory-bot broken by aiohttp and discord.py #65

Closed NeolithEra closed 4 years ago

NeolithEra commented 5 years ago

Hi, users are unable to run discord-wow-armory-bot due to dependency conflict with aiohttp package. As shown in the following full dependency graph of discord-wow-armory-bot, discord-wow-armory-bot requires aiohttp==3.5.4,while discord.py==0.16.12 requires aiohttp>=1.0.0,<1.1.0.

According to pip’s “first found wins” installation strategy, aiohttp==3.5.4 is the actually installed version. However, aiohttp==3.5.4 does not satisfy aiohttp>=1.0.0,<1.1.0.

Dependency tree

discord-wow-armory-bot-4.0.5
| +-aiohttp(version range:==3.5.4)
| +-discord-py(version range:==0.16.12)
| | +-aiohttp(version range:>=1.0.0,<1.1.0)
| | +-websockets(version range:>=3.1,<4.0)

Thanks for your help. Best, Neolith

NeolithEra commented 5 years ago

Solution

  1. Fix your direct dependency to be aiohttp>=1.0.0,<1.1.0. I have checked this revision will not affect your downstream projects now.
  2. Upgrade discord.py to 1.2.3, as discord.py 1.2.3 requires aiohttp>=3.3.0,<3.6.0. Then this conflict can be removed.

Which solution do you prefer, 1 or 2? @JamesIves Please let me know your choice. I can submit a PR to solve this issue.

JamesIves commented 5 years ago

@NeolithEra Thanks for the report! I think option 1 makes the most sense right now as there's some additional changes that are needed to make 1.2.3 work correctly. I have those changes in the works and hope to have them completed in time for the next tier.

JamesIves commented 4 years ago

This will be fixed as part of version 5.