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 installthrough 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 installin Python 2.7.10.I’ve tried using the
PIPENV_DEFAULT_PYTHON_VERSIONenvironment variable, but that didn’t work either.@jeschkies nicer? I personally use pyenv with
PIPENV_DEFAULT_PYTHON_VERSIONSET TO3.6.3. With pyenv installed (or any setup really) you can just pass—python=3.6.3or—python=2.7.14. That’s the thing with guessing (I.e. with—threeand—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_ROOTper the error message also.