pipenv: Cannot build lock even though dependencies are found.

Be sure to check the existing issues, both open and closed.

Describe the issue briefly here.

Describe you environment
  1. macOS Sierra
  2. Python 3.5.2
  3. pipenv, version 8.2.7
Expected result

I want to install shakedown with pipenv --three install dcos-shakedown. It should create a Pipfile and a lock.

Actual result

I get the following output

CRITICAL:pip.index:Could not find a version that satisfies the requirement dcoscli==0.5.5 (from versions: 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.11, 0.1.12, 0.1.13, 0.1.14, 0.1.15, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.10, 0.4.11, 0.4.12, 0.4.13, 0.4.14)
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.
No matching distribution found for dcoscli==0.5.5

This is odd since pipenv --three install dcoscli can install 0.5.5 and create a lock. There is a dcoscli-0.5.5 on PyPi. I assumes that pipenv tries to create a closure for Python 2 as well but there is no dcoscli 0.5.5 for Python 2.

Steps to replicate

Just run pipenv --three install --verbose dcos-shakedown with Python 3.5.

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 50 (27 by maintainers)

Most upvoted comments

I have the same issue when trying to install Django==2.0b1. It only offers a Python 3 wheel (the same as dcoscli).

I’ve installed Pipenv globally through Homebrew, and I use pyenv to manage my Python versions. I’ve also specified python_full_version = "3.6.3" in my Pipfile (along with the prerelease option).

It fails when I run pipenv install through the global Pipenv, but if I install Pipenv (via Pip) in a Python 3 version, it then succeeds. I’m guessing this means Pipenv isn’t using the version specified in Pipfile to do the dependency version look up? I get the same error when using pip install in Python 2.7.10.

I’ve tried using the PIPENV_DEFAULT_PYTHON_VERSION environment variable, but that didn’t work either.

@jeschkies nicer? I personally use pyenv withPIPENV_DEFAULT_PYTHON_VERSION SET TO 3.6.3. With pyenv installed (or any setup really) you can just pass —python=3.6.3 or —python=2.7.14. That’s the thing with guessing (I.e. with —three and —two)— it’s not explicit. If you want a specific version you will need to specify it

FYI every time you pass --three you are telling pipenv to destroy your existing virtualenv, not sure if that was intended but just FYI. I will look into this a bit more but at a glance since you have pyenv installed you should set the environment variable PYENV_ROOT per the error message also.