Web3.py: Mismatch eth-keys version in eth-account and eth-keyfile

Created on 19 Apr 2018  路  2Comments  路  Source: ethereum/web3.py

  • web3.py version: 4.1.0
  • Python: 3.5
  • OS: osx
  • pip: 10.0.0
  • pipenv: 11.10.0
  • eth-account 0.1.0a2 (latest)

What was wrong?

In commit 15e4097a937c2d7203b0fd251da1687fe08d1b61, eth-key* dependencies are droped and moved into eth-account

Required eth-keys version in eth-account is eth-keys>=0.2.0b3,<0.3.0
And eth-account require eth-keyfile>=0.5.0,<0.6.0
But in eth-keyfile, required eth-keys version is eth-keys>=0.1.0-beta.4,<1.0.0

So mismatched version occur dependency warning like below.

# in pipenv
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.

How can it be fixed?

Bump eth-keys version to latest in eth-keyfile

Most helpful comment

Thanks! rm -rf Pipfile.lock && rm -rf ~/.cache/pip && rm -rf ~/.cache/pipenv && pipenv install --skip-lock web3 && pipenv lock --pre --clear works for me!

All 2 comments

I don't see the problem with those dependency requirements. Any matching version in eth-account's spec of eth-keys would be valid in eth-keyfile. The pipenv experience seems broken when any beta versions are involved, see #707 and https://github.com/pypa/pipenv/issues/1802

Until pipenv has a better answer than "keep clearing the cache in these several different ways until it works", web3py will only officially support pip and not pipenv.

Thanks! rm -rf Pipfile.lock && rm -rf ~/.cache/pip && rm -rf ~/.cache/pipenv && pipenv install --skip-lock web3 && pipenv lock --pre --clear works for me!

Was this page helpful?
0 / 5 - 0 ratings