Richard-Mathie / py-redis-pubsub-dict

A python class for using redis, or other key value stores, and caching the values for read heavy workloads
GNU General Public License v2.0
2 stars 1 forks source link

Conflicts between redis_pubsub_dict and redis #5

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, users are unable to run _redis_pubsubdict due to dependency conflict with redis package. As shown in the following full dependency graph of _redis_pubsubdict, _redis_pubsubdict requires *_redis _,while redis-py-cluster requires _redis <3.1.0,>=3.0.0**_.

According to pip’s “first found wins” installation strategy, redis 3.3.11 is the actually installed version. However, redis 3.3.11 does not satisfy <3.1.0,>=3.0.0.

Dependency tree-----------

redis-pubsub-dict - 0.0.2
| +- msgpack(install version:1.0.0rc1 version range:*)
| +- pylru(install version:1.2.0 version range:*)
| +- redis(install version:3.3.11 version range:*)
| +- redis-py-cluster(install version:2.0.0 version range:*)
| | +- redis(install version:3.0.1 version range:<3.1.0,>=3.0.0) 

Thanks for your help. Best, Neolith

NeolithEra commented 4 years ago

Suggested Solution

  1. Fix your direct dependency to be redis <3.1.0. I have checked this revision will not affect your downstream projects now.
  2. Ask your upstream project redis-py-cluster to loose the version range of redis.
  3. Remove your direct dependency redis, and use redis transitively introduced by redis-py-cluster.

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