Pipenv: "Could not find a version that matches", but acceptable version listed

Created on 20 Mar 2018  ·  17Comments  ·  Source: pypa/pipenv

With pipenv lock, I get a message that I can't decipher. It lists valid constraints, and then versions that fit within those constraints, and then says it couldn't find a matching version. One thing that looks odd to me is that it duplicates the versions found:

$ pipenv lock --verbose
Could not find a version that matches eth-account<1.0.0,>=0.1.0a2
Tried: 0.1.0a1, 0.1.0a1, 0.1.0a2, 0.1.0a2

$ python -m pipenv.help output

Pipenv version: '11.8.3'

Pipenv location: '/usr/lib/python3/dist-packages/pipenv'

Python location: '/usr/bin/python'

Other Python installations in PATH:

  • 2.7: /usr/bin/python2.7
  • 2.7: /usr/bin/python2.7
  • 3.4: /usr/bin/python3.4
  • 3.4: /usr/bin/python3.4
  • 3.5: /usr/local/bin/python3.5m
  • 3.5: /usr/local/bin/python3.5
  • 3.6: /usr/bin/python3.6m
  • 3.6: /usr/bin/python3.6

  • 3.6.3: /usr/bin/python

  • 2.7.14: /usr/bin/python2
  • 3.6.3: /usr/bin/python3
  • None: /usr/local/bin/py

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.6.3',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.13.0-32-generic',
 'platform_system': 'Linux',
 'platform_version': '#35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018',
 'python_full_version': '3.6.3',
 'python_version': '3.6',
 'sys_platform': 'linux'}

System environment variables:

  • LS_COLORS
  • _LXSESSION_PID
  • XDG_CONFIG_HOME
  • LESSCLOSE
  • XDG_MENU_PREFIX
  • LANG
  • GDM_LANG
  • DISPLAY
  • QT_STYLE_OVERRIDE
  • GTK_OVERLAY_SCROLLING
  • XDG_VTNR
  • SSH_AUTH_SOCK
  • MANDATORY_PATH
  • S_COLORS
  • XDG_SESSION_ID
  • XDG_GREETER_DATA_DIR
  • USER
  • DESKTOP_SESSION
  • DEFAULTS_PATH
  • QT_QPA_PLATFORMTHEME
  • PWD
  • HOME
  • SSH_AGENT_PID
  • QT_ACCESSIBILITY
  • XDG_SESSION_TYPE
  • QT_PLATFORM_PLUGIN
  • XDG_DATA_DIRS
  • XDG_SESSION_DESKTOP
  • TERM
  • SHELL
  • XDG_SEAT_PATH
  • XDG_CURRENT_DESKTOP
  • MY_GETH_IPC
  • XDG_SEAT
  • SHLVL
  • LANGUAGE
  • GDMSESSION
  • LOGNAME
  • DBUS_SESSION_BUS_ADDRESS
  • XDG_RUNTIME_DIR
  • XAUTHORITY
  • XDG_SESSION_PATH
  • XDG_CONFIG_DIRS
  • PATH
  • LESSOPEN
  • _
  • OLDPWD
  • PIP_PYTHON_PATH
  • PYTHONUNBUFFERED

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /home/jcarver/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  • SHELL: /bin/bash
  • LANG: en_US.UTF-8
  • PWD: /tmp

Contents of Pipfile ('/tmp/Pipfile'):

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
"web3" = "==4.0.0b11"

[dev-packages]

[requires]
python_version = "3.6"

[pipenv]
allow_prereleases = true


I'm brand new to pipenv, so apologies if I missed something straightforward.

There are a bunch of closed issues that might be related. Most of them said to expect it to be fixed in 11.8.0, but I have 11.8.3. Maybe this has to do with #1745?

Definitely thought I fixed this last night. Will have to inspect.

Expected result

An install without warnings.

Actual result

Got the warning about being unable to lock

Steps to replicate

$ pipenv install --pre --verbose web3==4.0.0b11

```Installing web3==4.0.0b11…
⠋Installing 'web3==4.0.0b11'
$ "/home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/bin/pip" install --pre --verbose "web3==4.0.0b11" -i https://pypi.python.org/simple --exists-action w
Requirement already satisfied: web3==4.0.0b11 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages
Requirement already satisfied: eth-account<1.0.0,>=0.1.0a2 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: eth-utils<2.0.0,>=1.0.0b1 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: eth-abi<2,>=1.0.0-beta.1 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: hexbytes<1.0.0,>=0.1.0b1 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: eth-hash[pycryptodome] in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Installing extra requirements: 'pycryptodome'
Requirement already satisfied: cytoolz<1.0.0,>=0.9.0 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: lru-dict<2.0.0,>=1.1.6 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: requests<3.0.0,>=2.16.0 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from web3==4.0.0b11)
Requirement already satisfied: attrdict<3,>=2.0.0 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from eth-account<1.0.0,>=0.1.0a2->web3==4.0.0b11)
Requirement already satisfied: eth-keyfile<0.6.0,>=0.5.0 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from eth-account<1.0.0,>=0.1.0a2->web3==4.0.0b11)
Requirement already satisfied: eth-keys<0.3.0,>=0.2.0b1 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from eth-account<1.0.0,>=0.1.0a2->web3==4.0.0b11)
Requirement already satisfied: eth-rlp<1,>=0.1.0a2 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from eth-account<1.0.0,>=0.1.0a2->web3==4.0.0b11)
Requirement already satisfied: pycryptodome<4,>=3.5.1; extra == "pycryptodome" in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from eth-hash[pycryptodome]->web3==4.0.0b11)
Requirement already satisfied: toolz>=0.8.0 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from cytoolz<1.0.0,>=0.9.0->web3==4.0.0b11)
Requirement already satisfied: certifi>=2017.4.17 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from requests<3.0.0,>=2.16.0->web3==4.0.0b11)
Requirement already satisfied: idna<2.7,>=2.5 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from requests<3.0.0,>=2.16.0->web3==4.0.0b11)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from requests<3.0.0,>=2.16.0->web3==4.0.0b11)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from requests<3.0.0,>=2.16.0->web3==4.0.0b11)
Requirement already satisfied: six in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from attrdict<3,>=2.0.0->eth-account<1.0.0,>=0.1.0a2->web3==4.0.0b11)
Requirement already satisfied: rlp<1,>=0.6.0 in /home/jcarver/.local/share/virtualenvs/tmp-XVr6zr33/lib/python3.6/site-packages (from eth-rlp<1,>=0.1.0a2->eth-account<1.0.0,>=0.1.0a2->web3==4.0.0b11)
Cleaning up...

Adding web3==4.0.0b11 to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Using pip: -i https://pypi.python.org/simple

                      ROUND 1

Current constraints:

Finding the best candidates:

Finding secondary dependencies:

Result of round 1: stable, done

Locking [packages] dependencies…
Using pip: -i https://pypi.python.org/simple

                      ROUND 1

Current constraints:
web3==4.0.0b11

Finding the best candidates:
found candidate web3==4.0.0b11 (constraint was ==4.0.0b11)

Finding secondary dependencies:
web3==4.0.0b11 requires cytoolz<1.0.0,>=0.9.0, eth-abi<2,>=1.0.0-beta.1, eth-account<1.0.0,>=0.1.0a2, eth-hash[pycryptodome], eth-utils<2.0.0,>=1.0.0b1, hexbytes<1.0.0,>=0.1.0b1, lru-dict<2.0.0,>=1.1.6, requests<3.0.0,>=2.16.0

New dependencies found in this round:
adding ['cytoolz', '<1.0.0,>=0.9.0', '[]']
adding ['eth-abi', '<2,>=1.0.0-beta.1', '[]']
adding ['eth-account', '<1.0.0,>=0.1.0a2', '[]']
adding ['eth-hash', '', "['pycryptodome']"]
adding ['eth-utils', '<2.0.0,>=1.0.0b1', '[]']
adding ['hexbytes', '<1.0.0,>=0.1.0b1', '[]']
adding ['lru-dict', '<2.0.0,>=1.1.6', '[]']
adding ['requests', '<3.0.0,>=2.16.0', '[]']
Removed dependencies in this round:

Unsafe dependencies in this round:

Result of round 1: not stable

                      ROUND 2

Current constraints:
cytoolz<1.0.0,>=0.9.0
eth-abi<2,>=1.0.0-beta.1
eth-account<1.0.0,>=0.1.0a2
eth-hash[pycryptodome]
eth-utils<2.0.0,>=1.0.0b1
hexbytes<1.0.0,>=0.1.0b1
lru-dict<2.0.0,>=1.1.6
requests<3.0.0,>=2.16.0
web3==4.0.0b11

Finding the best candidates:
found candidate cytoolz==0.9.0.1 (constraint was >=0.9.0,<1.0.0)
found candidate eth-abi==1.0.0 (constraint was >=1.0.0-beta.1,<2)
Using pip: -i https://pypi.python.org/simple

                      ROUND 1

Current constraints:
web3==4.0.0b11

Finding the best candidates:
found candidate web3==4.0.0b11 (constraint was ==4.0.0b11)

Finding secondary dependencies:
web3==4.0.0b11 requires cytoolz<1.0.0,>=0.9.0, eth-abi<2,>=1.0.0-beta.1, eth-account<1.0.0,>=0.1.0a2, eth-hash[pycryptodome], eth-utils<2.0.0,>=1.0.0b1, hexbytes<1.0.0,>=0.1.0b1, lru-dict<2.0.0,>=1.1.6, requests<3.0.0,>=2.16.0

New dependencies found in this round:
adding ['cytoolz', '<1.0.0,>=0.9.0', '[]']
adding ['eth-abi', '<2,>=1.0.0-beta.1', '[]']
adding ['eth-account', '<1.0.0,>=0.1.0a2', '[]']
adding ['eth-hash', '', "['pycryptodome']"]
adding ['eth-utils', '<2.0.0,>=1.0.0b1', '[]']
adding ['hexbytes', '<1.0.0,>=0.1.0b1', '[]']
adding ['lru-dict', '<2.0.0,>=1.1.6', '[]']
adding ['requests', '<3.0.0,>=2.16.0', '[]']
Removed dependencies in this round:

Unsafe dependencies in this round:

Result of round 1: not stable

                      ROUND 2

Current constraints:
cytoolz<1.0.0,>=0.9.0
eth-abi<2,>=1.0.0-beta.1
eth-account<1.0.0,>=0.1.0a2
eth-hash[pycryptodome]
eth-utils<2.0.0,>=1.0.0b1
hexbytes<1.0.0,>=0.1.0b1
lru-dict<2.0.0,>=1.1.6
requests<3.0.0,>=2.16.0
web3==4.0.0b11

Finding the best candidates:
found candidate cytoolz==0.9.0.1 (constraint was >=0.9.0,<1.0.0)
found candidate eth-abi==1.0.0 (constraint was >=1.0.0-beta.1,<2)

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches eth-account<1.0.0,>=0.1.0a2
Tried: 0.1.0a1, 0.1.0a1, 0.1.0a2, 0.1.0a2
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches eth-account<1.0.0,>=0.1.0a2
Tried: 0.1.0a1, 0.1.0a1, 0.1.0a2, 0.1.0a2

</details>

<details><summary>$ pipenv graph</summary>

  • cytoolz [required: >=0.9.0,<1.0.0, installed: 0.9.0.1]

    • toolz [required: >=0.8.0, installed: 0.9.0]

  • eth-abi [required: >=1.0.0-beta.1,<2, installed: 1.0.0]

    • eth-utils [required: >=1.0.1,<2.0.0, installed: 1.0.1]



      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]


      • toolz [required: >=0.8.0, installed: 0.9.0]


      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]



  • eth-account [required: >=0.1.0a2,<1.0.0, installed: 0.1.0a2]

    • attrdict [required: <3,>=2.0.0, installed: 2.0.0]



      • six [required: Any, installed: 1.11.0]



    • eth-keyfile [required: >=0.5.0,<0.6.0, installed: 0.5.1]



      • cytoolz [required: >=0.9.0,<1.0.0, installed: 0.9.0.1]


      • toolz [required: >=0.8.0, installed: 0.9.0]


      • eth-keys [required: >=0.1.0-beta.4,<1.0.0, installed: 0.2.0b3]


      • cytoolz [required: >=0.9.0,<1.0.0, installed: 0.9.0.1]





        • toolz [required: >=0.8.0, installed: 0.9.0]





      • eth-utils [required: >=1.0.0-beta.2,<2.0.0, installed: 1.0.1]





        • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]



        • toolz [required: >=0.8.0, installed: 0.9.0]



        • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]





      • eth-utils [required: >=1.0.0-beta.1,<2.0.0, installed: 1.0.1]


      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]





        • toolz [required: >=0.8.0, installed: 0.9.0]





      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]


      • pycryptodome [required: >=3.4.7,<4.0.0, installed: 3.5.1]



    • eth-keys [required: <0.3.0,>=0.2.0b1, installed: 0.2.0b3]



      • cytoolz [required: >=0.9.0,<1.0.0, installed: 0.9.0.1]


      • toolz [required: >=0.8.0, installed: 0.9.0]


      • eth-utils [required: >=1.0.0-beta.2,<2.0.0, installed: 1.0.1]


      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]





        • toolz [required: >=0.8.0, installed: 0.9.0]





      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]



    • eth-rlp [required: >=0.1.0a2,<1, installed: 0.1.0]



      • eth-utils [required: >=1.0.1,<2, installed: 1.0.1]


      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]





        • toolz [required: >=0.8.0, installed: 0.9.0]





      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]


      • hexbytes [required: >=0.1.0,<1, installed: 0.1.0]


      • eth-utils [required: >=1.0.1,<2.0.0, installed: 1.0.1]





        • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]



        • toolz [required: >=0.8.0, installed: 0.9.0]



        • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]





      • rlp [required: >=0.6.0,<1, installed: 0.6.0]



    • eth-utils [required: >=1.0.0b1,<2, installed: 1.0.1]



      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]


      • toolz [required: >=0.8.0, installed: 0.9.0]


      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]



    • hexbytes [required: >=0.1.0b0,<1, installed: 0.1.0]



      • eth-utils [required: >=1.0.1,<2.0.0, installed: 1.0.1]


      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]





        • toolz [required: >=0.8.0, installed: 0.9.0]





      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]



  • eth-hash [required: Any, installed: 0.1.1]
  • eth-utils [required: >=1.0.0b1,<2.0.0, installed: 1.0.1]

    • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]



      • toolz [required: >=0.8.0, installed: 0.9.0]



    • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]

  • hexbytes [required: <1.0.0,>=0.1.0b1, installed: 0.1.0]

    • eth-utils [required: >=1.0.1,<2.0.0, installed: 1.0.1]



      • cytoolz [required: >=0.8.2,<1.0.0, installed: 0.9.0.1]


      • toolz [required: >=0.8.0, installed: 0.9.0]


      • eth-hash [required: >=0.1.0,<1.0.0, installed: 0.1.1]



  • lru-dict [required: >=1.1.6,<2.0.0, installed: 1.1.6]
  • requests [required: <3.0.0,>=2.16.0, installed: 2.18.4]

    • certifi [required: >=2017.4.17, installed: 2018.1.18]

    • chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]

    • idna [required: >=2.5,<2.7, installed: 2.6]

    • urllib3 [required: <1.23,>=1.21.1, installed: 1.22]

      ```


Dependency Resolution Needs More Information

Most helpful comment

@carver pipenv-resolver --clear <pkgname> is what generates useful output, In any event I was able to reproduce this earlier, but then I installed with --skip-lock and ran pipenv lock --pre --clear and everything was resolved. Seems like a caching issue with some of the dependencies

Can you double check and get back to us?

All 17 comments

Try clearing caches:

pipenv-resolver --clear
$ pipenv-resolver --clear
RESULTS:
[]

Same result after re-running pipenv install --pre --verbose web3==4.0.0b11, unfortunately.

@carver pipenv-resolver --clear <pkgname> is what generates useful output, In any event I was able to reproduce this earlier, but then I installed with --skip-lock and ran pipenv lock --pre --clear and everything was resolved. Seems like a caching issue with some of the dependencies

Can you double check and get back to us?

Can you double check and get back to us?

Yes, if I follow those steps in exactly that order, I end up with a working lock file. Thanks! :+1:

However, if I pipenv uninstall web3 and then pipenv install --pre --verbose web3==4.0.0b11 again, I still get the same dependency resolution warning from the original issue. So something still feels broken.

@carver that is likely because you are installing into a 'dirty' environment with dirty caches which contain the non-prerelease versions of packages where web3 requires the prerelease versions. You'll need to have a fresh environment and clean caches for this.

Thanks for getting back with us and sorry for the annoyance, there might be a way to auto-detect this stuff in the future but for now your best bet might be to try pipenv clean && pipenv lock --clear && pipenv sync explicitly to clean the environment, clear caches and install.

@techalchemy so should this be considered a bug in pipenv? Or is it a mismatch in dependencies? What are the exact steps you're suggesting to install this package?

The following fails, although it is what I understood I should do from this thread:

mkdir web3test
cd web3test
pipenv install web3 || pipenv install --skip-lock

pipenv clean && pipenv lock --clear && pipenv sync
echo "Trying to install the latest"
pipenv install --pre web3==v4.0.0b11

Thanks in advance.

Doing anything without the —pre flag is just dirtying your wheel cache and decreasing your chance for success. pipenv —rm && rm -rf Pipfile.lock && rm -rf ~/.cache/pip && rm -rf ~/.cache/pipenv and then pipenv install —pre web3

If you want prereleases filling your cache with non-prereleases is not a good idea

After running:

pipenv --rm
rm -rf Pipfile.lock
rm -rf ~/.cache/pip
rm -rf ~/.cache/pipenv

running either pipenv install web3 or pipen install --pre web3 fails with the warning about --skip-lock. I can safely assume that this is a bug in web3 then, isn't it?

@hiqua I would need to see the output of pipenv install --skip-lock --pre && pipenv lock --clear --verbose

With:

pipenv --rm
rm -rf Pipfile.lock
rm -rf ~/.cache/pip
rm -rf ~/.cache/pipenv


echo install
pipenv install --skip-lock --pre web3
echo lock
pipenv lock --clear --verbose

I get:

install
Creating a virtualenv for this project…
Using /usr/bin/python3.5m to create virtualenv…
⠋Running virtualenv with interpreter /usr/bin/python3.5m
Using base prefix '/usr'
New python executable in /home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8/bin/python3.5m
Also creating executable in /home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8
Installing web3…
Collecting web3
Downloading web3-4.0.0b11-py3-none-any.whl (108kB)
Collecting requests<3.0.0,>=2.16.0 (from web3)
Downloading requests-2.18.4-py2.py3-none-any.whl (88kB)
Collecting eth-abi<2,>=1.0.0-beta.1 (from web3)
Downloading eth_abi-1.0.0-py3-none-any.whl
Collecting eth-utils<2.0.0,>=1.0.0b1 (from web3)
Downloading eth_utils-1.0.1-py3-none-any.whl
Collecting lru-dict<2.0.0,>=1.1.6 (from web3)
Downloading lru-dict-1.1.6.tar.gz
Collecting eth-account<1.0.0,>=0.1.0a2 (from web3)
Downloading eth_account-0.1.0a2-py3-none-any.whl
Collecting eth-hash[pycryptodome] (from web3)
Downloading eth_hash-0.1.1-py3-none-any.whl
Collecting cytoolz<1.0.0,>=0.9.0 (from web3)
Downloading cytoolz-0.9.0.1.tar.gz (443kB)
Collecting hexbytes<1.0.0,>=0.1.0b1 (from web3)
Downloading hexbytes-0.1.0-py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests<3.0.0,>=2.16.0->web3)
Downloading idna-2.6-py2.py3-none-any.whl (56kB)
Collecting chardet<3.1.0,>=3.0.2 (from requests<3.0.0,>=2.16.0->web3)
Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0,>=2.16.0->web3)
Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
Collecting urllib3<1.23,>=1.21.1 (from requests<3.0.0,>=2.16.0->web3)
Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
Collecting eth-keys<0.3.0,>=0.2.0b1 (from eth-account<1.0.0,>=0.1.0a2->web3)
Downloading eth_keys-0.2.0b3-py3-none-any.whl
Collecting attrdict<3,>=2.0.0 (from eth-account<1.0.0,>=0.1.0a2->web3)
Downloading attrdict-2.0.0.tar.gz
Collecting eth-keyfile<0.6.0,>=0.5.0 (from eth-account<1.0.0,>=0.1.0a2->web3)
Downloading eth_keyfile-0.5.1-py3-none-any.whl
Collecting eth-rlp<1,>=0.1.0a2 (from eth-account<1.0.0,>=0.1.0a2->web3)
Downloading eth_rlp-0.1.0-py3-none-any.whl
Collecting pycryptodome<4,>=3.5.1; extra == "pycryptodome" (from eth-hash[pycryptodome]->web3)
Downloading pycryptodome-3.5.1-cp35-cp35m-manylinux1_x86_64.whl (6.9MB)
Collecting toolz>=0.8.0 (from cytoolz<1.0.0,>=0.9.0->web3)
Downloading toolz-0.9.0.tar.gz (45kB)
Collecting six (from attrdict<3,>=2.0.0->eth-account<1.0.0,>=0.1.0a2->web3)
Downloading six-1.11.0-py2.py3-none-any.whl
Collecting rlp<1,>=0.6.0 (from eth-rlp<1,>=0.1.0a2->eth-account<1.0.0,>=0.1.0a2->web3)
Downloading rlp-0.6.0.tar.gz
Building wheels for collected packages: lru-dict, cytoolz, attrdict, toolz, rlp
Running setup.py bdist_wheel for lru-dict: started
Running setup.py bdist_wheel for lru-dict: finished with status 'done'
Stored in directory: /home/hiq/.cache/pip/wheels/f9/03/0f/d1ce2504868b2b6a626cdf756d0794fb219324678e893f5467
Running setup.py bdist_wheel for cytoolz: started
Running setup.py bdist_wheel for cytoolz: finished with status 'done'
Stored in directory: /home/hiq/.cache/pip/wheels/ef/f5/37/3cbe0e725fe6f81be5904a99ed4fc89d82c79d440a2a442c8f
Running setup.py bdist_wheel for attrdict: started
Running setup.py bdist_wheel for attrdict: finished with status 'done'
Stored in directory: /home/hiq/.cache/pip/wheels/c3/a7/4e/ecbf6858a1940d22ecbe730445d8368c348e9b2735b959f6b7
Running setup.py bdist_wheel for toolz: started
Running setup.py bdist_wheel for toolz: finished with status 'done'
Stored in directory: /home/hiq/.cache/pip/wheels/57/51/8a/433a9c0a2c65fc1b2a795ae036b932f3339a02e9ae88367659
Running setup.py bdist_wheel for rlp: started
Running setup.py bdist_wheel for rlp: finished with status 'done'
Stored in directory: /home/hiq/.cache/pip/wheels/00/27/d0/354150ba37723f2469f6eb69b07ccdce983a3cd572584d9e8c
Successfully built lru-dict cytoolz attrdict toolz rlp
Installing collected packages: idna, chardet, certifi, urllib3, requests, toolz, cytoolz, pycryptodome, eth-hash, eth-utils, eth-abi, lru-dict, eth-keys, six, attrdict, hexbytes, eth-keyfile, rlp, eth-rlp, eth-account, web3
Successfully installed attrdict-2.0.0 certifi-2018.1.18 chardet-3.0.4 cytoolz-0.9.0.1 eth-abi-1.0.0 eth-account-0.1.0a2 eth-hash-0.1.1 eth-keyfile-0.5.1 eth-keys-0.2.0b3 eth-rlp-0.1.0 eth-utils-1.0.1 hexbytes-0.1.0 idna-2.6 lru-dict-1.1.6 pycryptodome-3.5.1 requests-2.18.4 rlp-0.6.0 six-1.11.0 toolz-0.9.0 urllib3-1.22 web3-4.0.0b11

Adding web3 to Pipfile's [packages]…
lock
Locking [dev-packages] dependencies…
Using pip: -i https://pypi.python.org/simple

                      ROUND 1

Current constraints:

Finding the best candidates:

Finding secondary dependencies:

Result of round 1: stable, done

Locking [packages] dependencies…
^[[C^[[C^[[C
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches eth-keys<0.2.0,>=0.1.0b3
Tried: 0.1.0b1, 0.1.0b1, 0.1.0b2, 0.1.0b2, 0.1.0b3, 0.1.0b3, 0.1.0b4, 0.1.0b4, 0.2.0b1, 0.2.0b1, 0.2.0b2, 0.2.0b2, 0.2.0b3, 0.2.0b3

the solution is sooooooo trick

无话可说

@hiqua pipenv lock —pre —clear

With:

pipenv --rm
rm -rf Pipfile.lock
rm -rf ~/.cache/pip
rm -rf ~/.cache/pipenv

echo install
pipenv install --skip-lock --pre web3
echo lock
pipenv lock --pre --clear --verbose

I get:

> Removing virtualenv (/home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8)…
> install
> Creating a virtualenv for this project…
> Using /usr/bin/python3.5m to create virtualenv…
> ⠋Running virtualenv with interpreter /usr/bin/python3.5m
> Using base prefix '/usr'
> New python executable in /home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8/bin/python3.5m
> Also creating executable in /home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8/bin/python
> Installing setuptools, pip, wheel...done.
> 
> Virtualenv location: /home/hiq/.local/share/virtualenvs/tmp-ej9DZZa8
> Installing web3…
> Collecting web3
>   Downloading web3-4.0.0-py3-none-any.whl (111kB)
> Collecting lru-dict<2.0.0,>=1.1.6 (from web3)
>   Downloading lru-dict-1.1.6.tar.gz
> Collecting eth-account<1.0.0,>=0.1.0-alpha.2 (from web3)
>   Downloading eth_account-0.1.0a2-py3-none-any.whl
> Collecting cytoolz<1.0.0,>=0.9.0 (from web3)
>   Downloading cytoolz-0.9.0.1.tar.gz (443kB)
> Collecting eth-hash[pycryptodome] (from web3)
>   Downloading eth_hash-0.1.2-py3-none-any.whl
> Collecting requests<3.0.0,>=2.16.0 (from web3)
>   Downloading requests-2.18.4-py2.py3-none-any.whl (88kB)
> Collecting eth-abi<2,>=1.0.0 (from web3)
>   Downloading eth_abi-1.0.0-py3-none-any.whl
> Collecting eth-utils<2.0.0,>=1.0.1 (from web3)
>   Downloading eth_utils-1.0.2-py3-none-any.whl
> Collecting hexbytes<1.0.0,>=0.1.0 (from web3)
>   Downloading hexbytes-0.1.0-py3-none-any.whl
> Collecting eth-keys<0.3.0,>=0.2.0b1 (from eth-account<1.0.0,>=0.1.0-alpha.2->web3)
>   Downloading eth_keys-0.2.0b3-py3-none-any.whl
> Collecting eth-keyfile<0.6.0,>=0.5.0 (from eth-account<1.0.0,>=0.1.0-alpha.2->web3)
>   Downloading eth_keyfile-0.5.1-py3-none-any.whl
> Collecting eth-rlp<1,>=0.1.0a2 (from eth-account<1.0.0,>=0.1.0-alpha.2->web3)
>   Downloading eth_rlp-0.1.0-py3-none-any.whl
> Collecting attrdict<3,>=2.0.0 (from eth-account<1.0.0,>=0.1.0-alpha.2->web3)
>   Downloading attrdict-2.0.0.tar.gz
> Collecting toolz>=0.8.0 (from cytoolz<1.0.0,>=0.9.0->web3)
>   Downloading toolz-0.9.0.tar.gz (45kB)
> Collecting pycryptodome<4,>=3.5.1; extra == "pycryptodome" (from eth-hash[pycryptodome]->web3)
>   Downloading pycryptodome-3.5.1-cp35-cp35m-manylinux1_x86_64.whl (6.9MB)
> Collecting urllib3<1.23,>=1.21.1 (from requests<3.0.0,>=2.16.0->web3)
>   Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
> Collecting chardet<3.1.0,>=3.0.2 (from requests<3.0.0,>=2.16.0->web3)
>   Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB)
> Collecting idna<2.7,>=2.5 (from requests<3.0.0,>=2.16.0->web3)
>   Downloading idna-2.6-py2.py3-none-any.whl (56kB)
> Collecting certifi>=2017.4.17 (from requests<3.0.0,>=2.16.0->web3)
>   Downloading certifi-2018.1.18-py2.py3-none-any.whl (151kB)
> Collecting rlp<1,>=0.6.0 (from eth-rlp<1,>=0.1.0a2->eth-account<1.0.0,>=0.1.0-alpha.2->web3)
>   Downloading rlp-0.6.0.tar.gz
> Collecting six (from attrdict<3,>=2.0.0->eth-account<1.0.0,>=0.1.0-alpha.2->web3)
>   Downloading six-1.11.0-py2.py3-none-any.whl
> Building wheels for collected packages: lru-dict, cytoolz, attrdict, toolz, rlp
>   Running setup.py bdist_wheel for lru-dict: started
>   Running setup.py bdist_wheel for lru-dict: finished with status 'done'
>   Stored in directory: /home/hiq/.cache/pip/wheels/f9/03/0f/d1ce2504868b2b6a626cdf756d0794fb219324678e893f5467
>   Running setup.py bdist_wheel for cytoolz: started
>   Running setup.py bdist_wheel for cytoolz: finished with status 'done'
>   Stored in directory: /home/hiq/.cache/pip/wheels/ef/f5/37/3cbe0e725fe6f81be5904a99ed4fc89d82c79d440a2a442c8f
>   Running setup.py bdist_wheel for attrdict: started
>   Running setup.py bdist_wheel for attrdict: finished with status 'done'
>   Stored in directory: /home/hiq/.cache/pip/wheels/c3/a7/4e/ecbf6858a1940d22ecbe730445d8368c348e9b2735b959f6b7
>   Running setup.py bdist_wheel for toolz: started
>   Running setup.py bdist_wheel for toolz: finished with status 'done'
>   Stored in directory: /home/hiq/.cache/pip/wheels/57/51/8a/433a9c0a2c65fc1b2a795ae036b932f3339a02e9ae88367659
>   Running setup.py bdist_wheel for rlp: started
>   Running setup.py bdist_wheel for rlp: finished with status 'done'
>   Stored in directory: /home/hiq/.cache/pip/wheels/00/27/d0/354150ba37723f2469f6eb69b07ccdce983a3cd572584d9e8c
> Successfully built lru-dict cytoolz attrdict toolz rlp
> Installing collected packages: lru-dict, toolz, cytoolz, pycryptodome, eth-hash, eth-utils, eth-keys, eth-keyfile, hexbytes, rlp, eth-rlp, six, attrdict, eth-account, urllib3, chardet, idna, certifi, requests, eth-abi, web3
> Successfully installed attrdict-2.0.0 certifi-2018.1.18 chardet-3.0.4 cytoolz-0.9.0.1 eth-abi-1.0.0 eth-account-0.1.0a2 eth-hash-0.1.2 eth-keyfile-0.5.1 eth-keys-0.2.0b3 eth-rlp-0.1.0 eth-utils-1.0.2 hexbytes-0.1.0 idna-2.6 lru-dict-1.1.6 pycryptodome-3.5.1 requests-2.18.4 rlp-0.6.0 six-1.11.0 toolz-0.9.0 urllib3-1.22 web3-4.0.0
> 
> Adding web3 to Pipfile's [packages]…
> lock
> Locking [dev-packages] dependencies…
> Using pip: -i https://pypi.python.org/simple
> 
>                           ROUND 1
> Current constraints:
> 
> Finding the best candidates:
> 
> Finding secondary dependencies:
> ------------------------------------------------------------
> Result of round 1: stable, done
> 
> Locking [packages] dependencies…
> Using pip: -i https://pypi.python.org/simple
> 
>                           ROUND 1
> Current constraints:
>   web3
> 
> Finding the best candidates:
>   found candidate web3==4.0.0 (constraint was <any>)
> 
> Finding secondary dependencies:
>   web3==4.0.0 not in cache, need to check index
>   web3==4.0.0               requires cytoolz<1.0.0,>=0.9.0, eth-abi<2,>=1.0.0, eth-account<1.0.0,>=0.1.0-alpha.2, eth-hash[pycryptodome], eth-utils<2.0.0,>=1.0.1, hexbytes<1.0.0,>=0.1.0, lru-dict<2.0.0,>=1.1.6, requests<3.0.0,>=2.16.0
> 
> New dependencies found in this round:
>   adding ['cytoolz', '<1.0.0,>=0.9.0', '[]']
>   adding ['eth-abi', '<2,>=1.0.0', '[]']
>   adding ['eth-account', '<1.0.0,>=0.1.0-alpha.2', '[]']
>   adding ['eth-hash', '', "['pycryptodome']"]
>   adding ['eth-utils', '<2.0.0,>=1.0.1', '[]']
>   adding ['hexbytes', '<1.0.0,>=0.1.0', '[]']
>   adding ['lru-dict', '<2.0.0,>=1.1.6', '[]']
>   adding ['requests', '<3.0.0,>=2.16.0', '[]']
> Removed dependencies in this round:
> Unsafe dependencies in this round:
> ------------------------------------------------------------
> Result of round 1: not stable
> 
>                           ROUND 2
> Current constraints:
>   cytoolz<1.0.0,>=0.9.0
>   eth-abi<2,>=1.0.0
>   eth-account<1.0.0,>=0.1.0-alpha.2
>   eth-hash[pycryptodome]
>   eth-utils<2.0.0,>=1.0.1
>   hexbytes<1.0.0,>=0.1.0
>   lru-dict<2.0.0,>=1.1.6
>   requests<3.0.0,>=2.16.0
>   web3
> 
> Finding the best candidates:
>   found candidate cytoolz==0.9.0.1 (constraint was >=0.9.0,<1.0.0)
>   found candidate eth-abi==1.0.0 (constraint was >=1.0.0,<2)
>   found candidate eth-account==0.1.0a2 (constraint was >=0.1.0-alpha.2,<1.0.0)
>   found candidate eth-hash[pycryptodome]==0.1.2 (constraint was <any>)
>   found candidate eth-utils==1.0.2 (constraint was >=1.0.1,<2.0.0)
>   found candidate hexbytes==0.1.0 (constraint was >=0.1.0,<1.0.0)
>   found candidate lru-dict==1.1.6 (constraint was >=1.1.6,<2.0.0)
>   found candidate requests==2.18.4 (constraint was >=2.16.0,<3.0.0)
>   found candidate web3==4.0.0 (constraint was <any>)
> 
> Finding secondary dependencies:
>   cytoolz==0.9.0.1 not in cache, need to check index
>   cytoolz==0.9.0.1          requires toolz>=0.8.0
>   eth-abi==1.0.0 not in cache, need to check index
>   eth-abi==1.0.0            requires eth-utils<2.0.0,>=1.0.1
>   eth-utils==1.0.2 not in cache, need to check index
>   eth-utils==1.0.2          requires cytoolz<1.0.0,>=0.8.2, eth-hash<1.0.0,>=0.1.0
>   lru-dict==1.1.6 not in cache, need to check index
>   lru-dict==1.1.6           requires -
>   hexbytes==0.1.0 not in cache, need to check index
>   hexbytes==0.1.0           requires eth-utils<2.0.0,>=1.0.1
>   requests==2.18.4 not in cache, need to check index
>   requests==2.18.4          requires certifi>=2017.4.17, chardet<3.1.0,>=3.0.2, idna<2.7,>=2.5, urllib3<1.23,>=1.21.1
>   eth-account==0.1.0a2 not in cache, need to check index
>   eth-account==0.1.0a2      requires attrdict<3,>=2.0.0, eth-keyfile<0.6.0,>=0.5.0, eth-keys<0.3.0,>=0.2.0b1, eth-rlp<1,>=0.1.0a2, eth-utils<2,>=1.0.0b1, hexbytes<1,>=0.1.0b0
>   web3==4.0.0               requires cytoolz<1.0.0,>=0.9.0, eth-abi<2,>=1.0.0, eth-account<1.0.0,>=0.1.0-alpha.2, eth-hash[pycryptodome], eth-utils<2.0.0,>=1.0.1, hexbytes<1.0.0,>=0.1.0, lru-dict<2.0.0,>=1.1.6, requests<3.0.0,>=2.16.0
> 
> New dependencies found in this round:
>   adding ['attrdict', '<3,>=2.0.0', '[]']
>   adding ['certifi', '>=2017.4.17', '[]']
>   adding ['chardet', '<3.1.0,>=3.0.2', '[]']
>   adding ['cytoolz', '<1.0.0,>=0.8.2,>=0.9.0', '[]']
>   adding ['eth-hash', '<1.0.0,>=0.1.0', "['pycryptodome']"]
>   adding ['eth-keyfile', '<0.6.0,>=0.5.0', '[]']
>   adding ['eth-keys', '<0.3.0,>=0.2.0b1', '[]']
>   adding ['eth-rlp', '<1,>=0.1.0a2', '[]']
>   adding ['eth-utils', '<2,<2.0.0,>=1.0.0b1,>=1.0.1', '[]']
>   adding ['hexbytes', '<1,<1.0.0,>=0.1.0,>=0.1.0b0', '[]']
>   adding ['idna', '<2.7,>=2.5', '[]']
>   adding ['pycryptodome', '<4,>=3.5.1', '[]']
>   adding ['toolz', '>=0.8.0', '[]']
>   adding ['urllib3', '<1.23,>=1.21.1', '[]']
> Removed dependencies in this round:
>   removing ['cytoolz', '<1.0.0,>=0.9.0', '[]']
>   removing ['eth-hash', '', "['pycryptodome']"]
>   removing ['eth-utils', '<2.0.0,>=1.0.1', '[]']
>   removing ['hexbytes', '<1.0.0,>=0.1.0', '[]']
> Unsafe dependencies in this round:
> ------------------------------------------------------------
> Result of round 2: not stable
> 
>                           ROUND 3
> Current constraints:
>   attrdict<3,>=2.0.0
>   certifi>=2017.4.17
>   chardet<3.1.0,>=3.0.2
>   cytoolz<1.0.0,>=0.8.2,>=0.9.0
>   eth-abi<2,>=1.0.0
>   eth-account<1.0.0,>=0.1.0-alpha.2
>   eth-hash<1.0.0,>=0.1.0
>   eth-keyfile<0.6.0,>=0.5.0
>   eth-keys<0.3.0,>=0.2.0b1
>   eth-rlp<1,>=0.1.0a2
>   eth-utils<2,<2.0.0,>=1.0.0b1,>=1.0.1
>   hexbytes<1,<1.0.0,>=0.1.0,>=0.1.0b0
>   idna<2.7,>=2.5
>   lru-dict<2.0.0,>=1.1.6
>   pycryptodome<4,>=3.5.1; extra == "pycryptodome"
>   requests<3.0.0,>=2.16.0
>   toolz>=0.8.0
>   urllib3<1.23,>=1.21.1
>   web3
> 
> Finding the best candidates:
>   found candidate attrdict==2.0.0 (constraint was >=2.0.0,<3)
>   found candidate certifi==2018.1.18 (constraint was >=2017.4.17)
>   found candidate chardet==3.0.4 (constraint was >=3.0.2,<3.1.0)
>   found candidate cytoolz==0.9.0.1 (constraint was >=0.8.2,>=0.9.0,<1.0.0)
>   found candidate eth-abi==1.0.0 (constraint was >=1.0.0,<2)
>   found candidate eth-account==0.1.0a2 (constraint was >=0.1.0-alpha.2,<1.0.0)
>   found candidate eth-hash[pycryptodome]==0.1.2 (constraint was >=0.1.0,<1.0.0)
>   found candidate eth-keyfile==0.5.1 (constraint was >=0.5.0,<0.6.0)
>   found candidate eth-keys==0.2.0b3 (constraint was >=0.2.0b1,<0.3.0)
>   found candidate eth-rlp==0.1.0 (constraint was >=0.1.0a2,<1)
>   found candidate eth-utils==1.0.2 (constraint was >=1.0.0b1,>=1.0.1,<2,<2.0.0)
>   found candidate hexbytes==0.1.0 (constraint was >=0.1.0,>=0.1.0b0,<1,<1.0.0)
>   found candidate idna==2.6 (constraint was >=2.5,<2.7)
>   found candidate lru-dict==1.1.6 (constraint was >=1.1.6,<2.0.0)
>   found candidate pycryptodome==3.5.1 (constraint was >=3.5.1,<4)
>   found candidate requests==2.18.4 (constraint was >=2.16.0,<3.0.0)
>   found candidate toolz==0.9.0 (constraint was >=0.8.0)
>   found candidate urllib3==1.22 (constraint was >=1.21.1,<1.23)
>   found candidate web3==4.0.0 (constraint was <any>)
> 
> Finding secondary dependencies:
>   idna==2.6 not in cache, need to check index
>   idna==2.6                 requires -
>   web3==4.0.0               requires cytoolz<1.0.0,>=0.9.0, eth-abi<2,>=1.0.0, eth-account<1.0.0,>=0.1.0-alpha.2, eth-hash[pycryptodome], eth-utils<2.0.0,>=1.0.1, hexbytes<1.0.0,>=0.1.0, lru-dict<2.0.0,>=1.1.6, requests<3.0.0,>=2.16.0
>   lru-dict==1.1.6           requires -
>   eth-keys==0.2.0b3 not in cache, need to check index
>   eth-keys==0.2.0b3         requires cytoolz<1.0.0,>=0.9.0, eth-utils<2.0.0,>=1.0.0-beta.2
>   hexbytes==0.1.0           requires eth-utils<2.0.0,>=1.0.1
>   eth-keyfile==0.5.1 not in cache, need to check index
>   eth-keyfile==0.5.1        requires cytoolz<1.0.0,>=0.9.0, eth-keys<1.0.0,>=0.1.0-beta.4, eth-utils<2.0.0,>=1.0.0-beta.1, pycryptodome<4.0.0,>=3.4.7
>   chardet==3.0.4 not in cache, need to check index
>   chardet==3.0.4            requires -
>   requests==2.18.4          requires certifi>=2017.4.17, chardet<3.1.0,>=3.0.2, idna<2.7,>=2.5, urllib3<1.23,>=1.21.1
>   cytoolz==0.9.0.1          requires toolz>=0.8.0
>   certifi==2018.1.18 not in cache, need to check index
>   certifi==2018.1.18        requires -
>   eth-abi==1.0.0            requires eth-utils<2.0.0,>=1.0.1
>   attrdict==2.0.0 not in cache, need to check index
>   attrdict==2.0.0           requires six
>   toolz==0.9.0 not in cache, need to check index
>   toolz==0.9.0              requires -
>   urllib3==1.22 not in cache, need to check index
>   urllib3==1.22             requires -
>   eth-rlp==0.1.0 not in cache, need to check index
>   eth-rlp==0.1.0            requires eth-utils<2,>=1.0.1, hexbytes<1,>=0.1.0, rlp<1,>=0.6.0
>   eth-utils==1.0.2          requires cytoolz<1.0.0,>=0.8.2, eth-hash<1.0.0,>=0.1.0
>   eth-account==0.1.0a2      requires attrdict<3,>=2.0.0, eth-keyfile<0.6.0,>=0.5.0, eth-keys<0.3.0,>=0.2.0b1, eth-rlp<1,>=0.1.0a2, eth-utils<2,>=1.0.0b1, hexbytes<1,>=0.1.0b0
> 
> New dependencies found in this round:
>   adding ['eth-keys', '<0.3.0,<1.0.0,>=0.1.0-beta.4,>=0.2.0b1', '[]']
>   adding ['eth-utils', '<2,<2.0.0,>=1.0.0-beta.1,>=1.0.0-beta.2,>=1.0.0b1,>=1.0.1', '[]']
>   adding ['pycryptodome', '<4,<4.0.0,>=3.4.7,>=3.5.1', '[]']
>   adding ['rlp', '<1,>=0.6.0', '[]']
>   adding ['six', '', '[]']
> Removed dependencies in this round:
>   removing ['eth-keys', '<0.3.0,>=0.2.0b1', '[]']
>   removing ['eth-utils', '<2,<2.0.0,>=1.0.0b1,>=1.0.1', '[]']
>   removing ['pycryptodome', '<4,>=3.5.1', '[]']
> Unsafe dependencies in this round:
> ------------------------------------------------------------
> Result of round 3: not stable
> 
>                           ROUND 4
> Current constraints:
>   attrdict<3,>=2.0.0
>   certifi>=2017.4.17
>   chardet<3.1.0,>=3.0.2
>   cytoolz<1.0.0,>=0.8.2,>=0.9.0
>   eth-abi<2,>=1.0.0
>   eth-account<1.0.0,>=0.1.0-alpha.2
>   eth-hash[pycryptodome]<1.0.0,>=0.1.0
>   eth-keyfile<0.6.0,>=0.5.0
>   eth-keys<0.3.0,<1.0.0,>=0.1.0-beta.4,>=0.2.0b1
>   eth-rlp<1,>=0.1.0a2
>   eth-utils<2,<2.0.0,>=1.0.0-beta.1,>=1.0.0-beta.2,>=1.0.0b1,>=1.0.1
>   hexbytes<1,<1.0.0,>=0.1.0,>=0.1.0b0
>   idna<2.7,>=2.5
>   lru-dict<2.0.0,>=1.1.6
>   pycryptodome<4,<4.0.0,>=3.4.7,>=3.5.1; extra == "pycryptodome"
>   requests<3.0.0,>=2.16.0
>   rlp<1,>=0.6.0
>   six
>   toolz>=0.8.0
>   urllib3<1.23,>=1.21.1
>   web3
> 
> Finding the best candidates:
>   found candidate attrdict==2.0.0 (constraint was >=2.0.0,<3)
>   found candidate certifi==2018.1.18 (constraint was >=2017.4.17)
>   found candidate chardet==3.0.4 (constraint was >=3.0.2,<3.1.0)
>   found candidate cytoolz==0.9.0.1 (constraint was >=0.8.2,>=0.9.0,<1.0.0)
>   found candidate eth-abi==1.0.0 (constraint was >=1.0.0,<2)
>   found candidate eth-account==0.1.0a2 (constraint was >=0.1.0-alpha.2,<1.0.0)
>   found candidate eth-hash[pycryptodome]==0.1.2 (constraint was >=0.1.0,<1.0.0)
>   found candidate eth-keyfile==0.5.1 (constraint was >=0.5.0,<0.6.0)
>   found candidate eth-keys==0.2.0b3 (constraint was >=0.1.0-beta.4,>=0.2.0b1,<0.3.0,<1.0.0)
>   found candidate eth-rlp==0.1.0 (constraint was >=0.1.0a2,<1)
>   found candidate eth-utils==1.0.2 (constraint was >=1.0.0-beta.1,>=1.0.0-beta.2,>=1.0.0b1,>=1.0.1,<2,<2.0.0)
>   found candidate hexbytes==0.1.0 (constraint was >=0.1.0,>=0.1.0b0,<1,<1.0.0)
>   found candidate idna==2.6 (constraint was >=2.5,<2.7)
>   found candidate lru-dict==1.1.6 (constraint was >=1.1.6,<2.0.0)
>   found candidate pycryptodome==3.5.1 (constraint was >=3.4.7,>=3.5.1,<4,<4.0.0)
>   found candidate requests==2.18.4 (constraint was >=2.16.0,<3.0.0)
>   found candidate rlp==0.6.0 (constraint was >=0.6.0,<1)
>   found candidate six==1.11.0 (constraint was <any>)
>   found candidate toolz==0.9.0 (constraint was >=0.8.0)
>   found candidate urllib3==1.22 (constraint was >=1.21.1,<1.23)
>   found candidate web3==4.0.0 (constraint was <any>)
> 
> Finding secondary dependencies:
>   eth-utils==1.0.2          requires cytoolz<1.0.0,>=0.8.2, eth-hash<1.0.0,>=0.1.0
>   eth-account==0.1.0a2      requires attrdict<3,>=2.0.0, eth-keyfile<0.6.0,>=0.5.0, eth-keys<0.3.0,>=0.2.0b1, eth-rlp<1,>=0.1.0a2, eth-utils<2,>=1.0.0b1, hexbytes<1,>=0.1.0b0
>   hexbytes==0.1.0           requires eth-utils<2.0.0,>=1.0.1
>   eth-rlp==0.1.0            requires eth-utils<2,>=1.0.1, hexbytes<1,>=0.1.0, rlp<1,>=0.6.0
>   cytoolz==0.9.0.1          requires toolz>=0.8.0
>   lru-dict==1.1.6           requires -
>   requests==2.18.4          requires certifi>=2017.4.17, chardet<3.1.0,>=3.0.2, idna<2.7,>=2.5, urllib3<1.23,>=1.21.1
>   rlp==0.6.0 not in cache, need to check index
>   rlp==0.6.0                requires -
>   six==1.11.0 not in cache, need to check index
>   six==1.11.0               requires -
>   urllib3==1.22             requires -
>   toolz==0.9.0              requires -
>   attrdict==2.0.0           requires six
>   eth-keyfile==0.5.1        requires cytoolz<1.0.0,>=0.9.0, eth-keys<1.0.0,>=0.1.0-beta.4, eth-utils<2.0.0,>=1.0.0-beta.1, pycryptodome<4.0.0,>=3.4.7
>   eth-abi==1.0.0            requires eth-utils<2.0.0,>=1.0.1
>   web3==4.0.0               requires cytoolz<1.0.0,>=0.9.0, eth-abi<2,>=1.0.0, eth-account<1.0.0,>=0.1.0-alpha.2, eth-hash[pycryptodome], eth-utils<2.0.0,>=1.0.1, hexbytes<1.0.0,>=0.1.0, lru-dict<2.0.0,>=1.1.6, requests<3.0.0,>=2.16.0
>   eth-keys==0.2.0b3         requires cytoolz<1.0.0,>=0.9.0, eth-utils<2.0.0,>=1.0.0-beta.2
>   chardet==3.0.4            requires -
>   certifi==2018.1.18        requires -
>   idna==2.6                 requires -
> ------------------------------------------------------------
> Result of round 4: stable, done
> 
> Updated Pipfile.lock (c33b17)!

the solution is sooooooo trick

无话可说

你是怎么个解决的?

I had installed Python 3.7.4 using pyenv and I don't fully understand the reason but my Pipfile had this line in package list

[packages]
3-7-4 = "*"

Removing the 3-7-4 line fixed the issue for me.

To echo @thetanuj I noticed that any package that pipenv install $PACKAGE fails, pipenv puts that $PACKAGE into the Pipenv file, which will in turn caused "ERROR: ERROR: Could not find a version that matches $PACKAGE".

In my case, PACKAGE=google-cloud-python, and since I git revision controlled Pipfile I saw that line being added even though the installation failed. I removed the extra google-cloud-python = "*" line from Pipfile, I was able to get back to what it was (although I still need to find a way install google-cloud-python though.)

Was this page helpful?
0 / 5 - 0 ratings