-
Notifications
You must be signed in to change notification settings - Fork 22
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
Failed to update dependencies via bot due to transitive pre-release dependency #816
Comments
This is something Pipenv community complains about as well. I understand the use of this and the consequences it brings (some software stacks are not resolvable at all). We can open this discussion in Pipenv community. If they provide a "standard way" how to approach this (e.g. in pipfile, specify acceptable pre-releases for a package, similarly as specifying the index to be used to install the package) we are happy to include it in our recommendations - it's not that big change on our side. |
There's this upstream issue, suggesting a per-package pre-release spec Pipfile syntax extension I've faced the same issue already, but in that case it was our direct dependency so the workaround to locking it to an exact pre-release version worked in that case. However in this case, when it's a transitive dependency I'm clueless... Like.. the same workaround might help for the time being, but it may lead version mismatches if the transitive dependency version requirement is changed... Which would just postpone the same problem, it's not a real solution. So my ask is, if there's a possibility for the auto-update job to facilitate this. I don't know, maybe a config flag allowing pre-release resolution on packages which are already locked to a pre-release? Or something like that. I know this is far fetched though, but any idea would be welcomed. We certainly want our stacks to be resolvable by the auto-updater so I'm looking for a way how to achieve that. 🙂 |
Proposed pypa/pipenv#4607 based on that. An extension could be created which would act on trasitive packages considered (but I would not bring that to the referenced PEEP).
The auto-update bot uses Pipenv under the hood (as of now), so we rely on Pipenv logic. Hopefully, we will soon switch to Thoth based updates in which case we can support whatever will be standardized by Pipenv/Python community. As we offer |
Shouldnt the advisor-based update manager of kebechet address this issue? |
Selectively enable pre-releases for just some packages is not something Pipenv can do. It is possible to turn on enabling pre-relesases globally, for all the packages in the software stack, or turn it off completely. If there would be a standardized way how to enable pre-releases just for some packages in Pipfile (e.g. as described in pypa/pipenv#4607), we can provide such a mechanism. As of now, we are compatible with Pipenv and Pipfile/Pipfile.lock capabilities it offers. |
BTW we could introduce |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
Thoth now supports enabling pre-releases for certain packages, see: I will close this one, feel free to report any issues if any spotted. Thanks for the report 👍🏻 /close |
@fridex: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Describe the bug
We have a dependency installed via Pipenv. This dependency depends on a package which has only pre-releases. We don't want to specify
allow_prereleases = true
in ourPipfile
since that would turn pre-release resolution globally for all dependencies and we don't want that.Notes:
To Reproduce
Steps to reproduce the behavior:
Pipfile
which installs a dependency that depends on a pre-release itselfpipenv lock --pre
In our case (aicoe-aiops/mailing-list-analysis-toolkit#36) the troubled dependencies are:
papermill
which is our direct dependencyblack
which is a dependency ofpapermill
Expected behavior
Auto updater should be able to resolve pre-releases if they were already resolved to a pre-release for packages in
Pipfile.lock
file. This is different to allowing to resolve all pre-releases for all packages (theallow_prereleases
flag).Screenshots
n/a
Additional context
aicoe-aiops/mailing-list-analysis-toolkit#36
pypa/pipenv#1760
pypa/pipenv#965
The text was updated successfully, but these errors were encountered: