Fuyukai/OWAPI

Dependencies require aioredis >=0.3.0,<1.0.0, however sub-dependency requires aioredis >=1.0

Closed this issue · 9 comments

Issue

When trying to create the pipenv, I was unable to download all of the dependencies. It looks like one of the sub-dependencies changed to require aioredis>=1.0 while the project itself was changed to pin aioredis<1.0.0,>=0.3.0

The full log can be viewed here, however this line is where I got my information:

[pipenv.exceptions.ResolutionFailure]:       pipenv.exceptions.ResolutionFailure: ERROR: ERROR: Could not find a version that matches aioredis<1.0.0,>=0.3.0,>=1.0

I'm running python3.6 and I believe I've pulled all of the other dependencies correctly. Not sure how to best proceed.

Trying to get by with $pipenv install --skip-lock yields a number of packages that fail to install

An error occurred while installing uvloop==0.9.1! Will try again.
An error occurred while installing git+https://github.com/SuNDwarf/Kyoukai.git#egg=kyoukai! Will try again.
An error occurred while installing asphalt-redis! Will try again.
An error occurred while installing git+https://github.com/asphalt-framework/asphalt.git#egg=asphalt! Will try again.

It looks like I was able to install a few of the dependencies... however I'd be unable to interact with redis.

$ pipenv graph
aiohttp==2.2.5
  - async-timeout [required: >=1.2.0, installed: 2.0.1]
  - chardet [required: Any, installed: 3.0.4]
  - multidict [required: >=2.1.4, installed: 4.5.2]
  - yarl [required: >=0.11, installed: 1.1.1]
    - idna [required: >=2.0, installed: 2.8]
    - multidict [required: >=4.0, installed: 4.5.2]
aioredis==0.3.5
  - hiredis [required: Any, installed: 0.3.1]
asyncio-extras==1.3.2
  - async-generator [required: >=1.3, installed: 1.8]
html5-parser==0.3.3
  - chardet [required: Any, installed: 3.0.4]
  - lxml [required: >=3.8.0, installed: 4.3.0]
Unidecode==0.4.19

Looks like one of the problem packages might be asphalt-redis as it tries to pull 1.0 here: https://github.com/asphalt-framework/asphalt-redis/blob/master/setup.cfg#L24

One of my issues was that I was still relying on a python 3.4 install... I had to explicitly run pipenv --python 3.6 install to ensure I was relying on the correct version of python.

Try pip install asphalt-redis==2.0.1 (it's the ver on my instance).

I have a half-finished rewrite in Quart-Trio out soon so this will hopefully be a thing of the past then.

reverted to python 3.5, pinned asphalt-redis = "==2.0.1" and pinned Kyoukai = "<=2.3.0,>=2.1.4", I think I had never refreshed my shell after installing the apt-get deps as well... so after a restart, I don't know exactly where I'm at, but it's claiming I can run pipenv shell Will close if I'm functional.

You probably want to pipenv run pip install git+https://github.com/Fuyukai/Kyoukai.git#egg=kyoukai instead.

I ended up running something but I didn't get to a state where it responded to a query.

Checking back in, I bumped back to your recommendation, but entered into a state I had been previously where both Kyoukai and html5-parser both won't install. Log

I think I'm going to need to go back and pin Kyoukai and html5-parser for some reason... unsure why currently

Yeah... things are still pretty messy on initial install... but it looks like I specifically needed to sudo apt-get install python3.5-dev to get httptools to install properly...

This is stemming from the fact that my distro considers python2.7 to be default, and python3 to mean 3.4, so python-dev and python-dev3 are both incorrect specifications for dependencies, and I needed to pull python-dev3.5 to get what I needed.

This is what my Pipfile looks like currently... I might be able to roll back the pin on kyoukai

diff --git a/Pipfile b/Pipfile
index e2e9e98..a93ec76 100644
--- a/Pipfile
+++ b/Pipfile
@@ -10,11 +10,11 @@ name = "pypi"
 aioredis = ">=0.3.0,<1.0.0"
 aiohttp = "<=2.2.5,>=2.2.0"
 asphalt = {git = "https://github.com/asphalt-framework/asphalt.git"}
-asphalt-redis = "*"
+asphalt-redis = "==2.0.1"
 asyncio-extras = "<=1.4.0,>=1.3.0"
 "html5-parser" = "==0.3.3"
 unidecode = "==0.04.19"
-kyoukai = {git = "https://github.com/SuNDwarf/Kyoukai.git"}
+Kyoukai = "<=2.3.0,>=2.1.4"
 yarl = "<1.2"
 uvloop = "==0.9.1"

Success!

$ PYTHONPATH=. pipenv run asphalt run config.yml
INFO:asphalt.core.runner:Running in development mode
2019-01-12 19:38:46,207 - [INFO] asphalt.core.runner -> Starting application
2019-01-12 19:38:46,216 - [WARNING] OWAPI -> redis is disabled by config, rate limiting and caching not available
2019-01-12 19:38:46,336 - [INFO] asphalt.redis.component -> Configured Redis client (redis / ctx.redis; address=('127.0.0.1', 6379), db=1)
2019-01-12 19:38:46,340 - [INFO] Kyoukai -> Scanned 9 route(s) in the routing tree, building routing mapping.
2019-01-12 19:38:46,343 - [INFO] Kyoukai -> Built route mapping with 9 rules.
2019-01-12 19:38:46,343 - [INFO] Kyoukai -> Kyoukai serving on 127.0.0.1:4444.
2019-01-12 19:38:46,344 - [INFO] OWAPI -> Started OWAPI server.
2019-01-12 19:38:46,344 - [INFO] asphalt.core.runner -> Application started
2019-01-12 19:39:00,625 - [INFO] Kyoukai -> Hit HTTPException (301 Moved Permanently: None) inside function, delegating.
2019-01-12 19:39:00,625 - [INFO] Kyoukai -> GET / - 301
2019-01-12 19:39:18,779 - [INFO] Kyoukai -> GET /v3/u/SpaceToaster-11526 - 404
2019-01-12 19:39:22,748 - [INFO] Kyoukai -> GET /v3/u/SpaceToaster-11526/blob - 404

Thank you for your time!