-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipenv lock doesn't take Pipfile into account when processing package sub-dependencies #2666
Comments
I have precisely the same issue with a different combination of packages. I am trying to install This is (as @rainyday describes) because the newest versions are investigated while solving dependencies, ignoring pinned versions in the
$ pipenv --supportPipenv version: Contents of [[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[dev-packages]
[packages]
flower = "==0.8.3"
celery = "==3.1.25"
kombu = "==3.0.37"
amqp = "==1.4.9"
[requires]
python_version = "3.5"
|
I digged in some more and this seems to be the same issue as #2596 . Downgrading to |
I'm guessing you can fix this by running We are aware of these types of issues and have a working implementation of a new, much better resolver but we are still testing it. It's much faster and I'm pretty sure it won't have any of these types of problems. In the meantime just bear with us, this type of problem is resolved by making sure you only include top level dependencies in your If you include only |
I think I'm having the same issue. When I do
The requirement |
Changing my Pipfile to require |
@techalchemy that's super exciting to hear that you're working on a new resolver. Is it already possible for me to try it? I just checked out master and it doesn't seem to be in there yet - maybe a PR or a feature branch? Hope I'm not coming across as being impatient, I'm just very, very excited about the progress :-). |
The implementation still has a lot of things going on right now, and there isn’t a very convenient way to make it work with Pipenv yet, unfortunately. If you’re interested, however, I would very much like people to throw real-world examples at it and see what happens. But be aware: this is definitely not ready for production. Here’s the implementation: https://github.com/sarugaku/resolvelib Setup would be something like:
Use this command to test the resolver out:
This will emit a ton of output to show what happens in the resolver, and a final There are some known issues about dependencies that use |
Amazing. I just tried it on one of our projects (which doesn't have a |
@techalchemy What is the status of the dependency resolver? I am now pinning Pipenv in all of our projects to |
I also have this issue. This is making life really difficult since Pipenv cannot resolve some of the dependencies on its own. For example, doing
|
Same here. Pinning
I'm unclear on how to workaround. |
You might have luck if you don't have seperate dev dependencies
…On Sat, Sep 22, 2018, 23:52 Bob Spryn ***@***.***> wrote:
Same here. Pinning pippenv==2018.5.18 doesn't even help. As soon as I try
and add zappa="46.2" (released back in July I think) it suddenly thinks
that I need botocore>=1.12.9, which is the latest release. And that
conflicts with my other requirements.
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
connexion = "*"
stripe = "*"
requests = "*"
boto3 = "==1.7.84"
botocore = "==1.10.84"
Flask = "*"
Pillow = "*"
zipcodes = "*"
us = "*"
[dev-packages]
remote-pdb = "*"
zappa = "==0.46.2"
awscli = "==1.15.85"
[requires]
python_version = "3.6"
I'm unclear on how to workaround.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2666 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AADQMuoZZA10Teq6rBezptQwYEDT0MG5ks5udqMKgaJpZM4Vkya5>
.
|
Issue description
After the release of pylint 2, I discovered this issue trying to install plugins such as pylint-quotes and pytest-pylint:
Pipenv seems to ignore dependency versions in Pipfile when looking through sub-dependencies (dependencies of packages specified in Pipfile).
Expected result
Pipenv should account for Pipfile when resolving sub-depencendies to avoid reporting erroneous conflicts
Actual result
Pipenv incorrectly reports dependency conflicts when none actually exist.
Steps to replicate
Example Pipfile:
pylint 1.9 requires
astroid<2.0,>=1.6
pylint-quotes 0.1.9's only dependency is
pylint>=1.7.6
which can be seen in its setup.cfg (or by running pip show after installing it):However, Pipenv incorrectly reports that pylint-quotes requires
astroid>=2.0.1
.Further investigation revealed that there is one related package that does require
astroid>=2.0.1
,pylint==2.0.1
which we are not installing. It looks to me like Pipenv is seeing the pylint requirement of pylint-quotes and then checking the dependencies of the latest version of pylint rather than the one actually specified in the pipfile.$ pipenv --support
Pipenv version:
'2018.7.1'
Pipenv location:
'/usr/local/Cellar/pipenv/2018.7.1/libexec/lib/python3.7/site-packages/pipenv'
Python location:
'/usr/local/Cellar/pipenv/2018.7.1/libexec/bin/python3.7'
Other Python installations in
PATH
:2.7
:/usr/local/bin/python2.7
2.7
:/usr/local/bin/python2.7
2.7
:/Users/<user>/.pyenv/shims/python2.7
2.7
:/usr/local/bin/python2.7
2.7
:/usr/bin/python2.7
3.6
:/Users/<user>/.pyenv/shims/python3.6m
3.6
:/Users/<user>/.pyenv/shims/python3.6
3.7
:/Users/<user>/.pyenv/shims/python3.7
2.7.15
:/usr/local/bin/python
3.6.5
:/Users/<user>/.pyenv/shims/python
2.7.15
:/usr/local/bin/python
2.7.10
:/usr/bin/python
2.7.15
:/usr/local/bin/python2
2.7.15
:/Users/<user>/.pyenv/shims/python2
2.7.15
:/usr/local/bin/python2
3.6.5
:/Users/<user>/.pyenv/shims/python3
PEP 508 Information:
System environment variables:
PATH
LDFLAGS
MANPATH
_fzf_orig_completion_tee
TERM_PROGRAM
_fzf_orig_completion_find
_fzf_orig_completion_diff
_fzf_orig_completion_javac
PYENV_ROOT
TERM
SHELL
_fzf_orig_completion_curl
CPPFLAGS
_fzf_orig_completion_mv
TMPDIR
_fzf_orig_completion_patch
Apple_PubSub_Socket_Render
_fzf_orig_completion_perl
TERM_PROGRAM_VERSION
_fzf_orig_completion_python
_fzf_orig_completion_du
_fzf_orig_completion_bunzip2
TERM_SESSION_ID
_fzf_orig_completion_less
_fzf_orig_completion_rmdir
_fzf_orig_completion_tail
_fzf_orig_completion_head
PYENV_VERSION
_fzf_orig_completion_jar
_fzf_orig_completion_svn
_fzf_orig_completion_telnet
USER
_fzf_orig_completion_g__
_fzf_orig_completion_wc
_fzf_orig_completion_ftp
_fzf_orig_completion_gzip
PYENV_DIR
SSH_AUTH_SOCK
_fzf_orig_completion_view
_fzf_orig_completion_export
__CF_USER_TEXT_ENCODING
PYENV_VIRTUALENV_INIT
_fzf_orig_completion_grep
_fzf_orig_completion_gvim
_fzf_orig_completion_java
_fzf_orig_completion_unzip
_fzf_orig_completion_sftp
PWD
_fzf_orig_completion_rm
_fzf_orig_completion_ls
_fzf_orig_completion_uniq
EDITOR
_fzf_orig_completion_cat
_fzf_orig_completion_chown
_fzf_orig_completion_bzip2
LANG
ITERM_PROFILE
PYENV_HOOK_PATH
XPC_FLAGS
_fzf_orig_completion_cd
_fzf_orig_completion_vi
_fzf_orig_completion_tar
XPC_SERVICE_NAME
_fzf_orig_completion_kill
PYENV_SHELL
SHLVL
COLORFGBG
HOME
ITERM_SESSION_ID
LOGNAME
_fzf_orig_completion_vim
VISUAL
_fzf_orig_completion_awk
_fzf_orig_completion_ld
_fzf_orig_completion_sort
_fzf_orig_completion_ssh
_fzf_orig_completion_gunzip
PKG_CONFIG_PATH
GOPATH
_fzf_orig_completion_rsync
_fzf_orig_completion_gcc
_fzf_orig_completion_emacs
DISPLAY
_fzf_orig_completion_cp
_fzf_orig_completion_scp
_fzf_orig_completion_ln
_fzf_orig_completion_sed
_fzf_orig_completion_git
COLORTERM
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/usr/local/Cellar/pipenv/2018.7.1/libexec/tools:/usr/local/bin:/Users/<user>/.pyenv/libexec:/Users/<user>/.pyenv/plugins/python-build/bin:/Users/<user>/.pyenv/plugins/pyenv-virtualenv/bin:/Users/<user>/.pyenv/plugins/pyenv-update/bin:/Users/<user>/.pyenv/plugins/pyenv-installer/bin:/Users/<user>/.pyenv/plugins/pyenv-doctor/bin:/Users/<user>/.local/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/libarchive/bin:/usr/local/sbin:/usr/local/opt/go/libexec/bin:/Users/<user>/go/bin:/Users/<user>/.pyenv/plugins/pyenv-virtualenv/shims:/Users/<user>/.pyenv/shims:/Users/<user>/.pyenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/MacGPG2/bin:/opt/X11/bin:/Users/<user>/.vim/plugged/fzf/bin
SHELL
:/usr/local/bin/bash
EDITOR
:vim
LANG
:en_US.UTF-8
PWD
:/Users/<user>/Documents/Source/pipenvdeps
Contents of
Pipfile
('/Users//Documents/Source/pipenvdeps/Pipfile'):Contents of
Pipfile.lock
('/Users//Documents/Source/pipenvdeps/Pipfile.lock'):The text was updated successfully, but these errors were encountered: