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
- macOS Sierra
- Python 3.5.2
- 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)
I have the same issue when trying to install
Django==2.0b1
. It only offers a Python 3 wheel (the same asdcoscli
).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 usingpip 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 with
PIPENV_DEFAULT_PYTHON_VERSION
SET TO3.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 itFYI 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.