-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Pipelines broken upgrading 1.2.2 to 1.3+ on Windows #7216
Comments
you have requirements files with incompatible requirements, how do you figure this as a poetry bug? |
@dimbleby simple answer to your question.. the only requirement I have is "poetry==1.3.1" =) |
You have provided links to diffs showing that you have many more constraints than that.
That poetry installation works in lots of places is very bad evidence for poetry installation being broken. If you were installing poetry via one of the supported methods - https://python-poetry.org/docs/#installation - then that would be potentially interesting. But it looks as though you are saying "I don't agree with what pip's solver is telling me" and then assigning responsibility for that to poetry. |
@dimbleby I have evidence that even if you consider all the restrictions, poetry is able to resolve dependencies:
|
Your pipeline is not running poetry, it is using pip / pipx to install poetry. So if you are confident that poetry's requirements are consistent, then you have a problem with pip or pipx - not with poetry. |
Poetry has a much more sophisticated solver than pip. As you yourself have stated, it is capable of solving your constraints. However, pip is not. There is no bug in Poetry; you are running into limitations of pip or a bug in pip. We simply declare dependencies like any other package. I would suggest you install Poetry using the recommended methods; if you really must continue to control every single package in the environment, simply maintain an exported requirements.txt based on the pyproject.toml you yourself provided, with This is not a Poetry issue, Poetry is not involved here at all, beyond providing a list of required packages. |
@dimbleby @neersighted I am not using pip, in fact I am using Also there is not error on SOLVING anything, all my constraints are all pinned versions:
The error clearly states POETRY has conflicting dependencies and is not able to be installed on Windows. Since my issue was closed with the argument I am using |
You aren't even running poetry. You agree that poetry's requirements are consistent. What do you think poetry could possibly do better? |
@dimbleby I think you missed the point it is not about using poetry to install anything but installing poetry itself. It looks to me poetry 1.3.1 is relying on a package |
I don't have a windows python installation myself: but poetry is installed thousands of times every day on Windows (including in its own pipelines). It is not relying on a package that cannot be built correctly on windows. Perhaps your use of constraints is unusual and has exposed a bug in pip. |
I also don't have a Windows installation, the error is occurring exactly in pipelines since many projects I use support Windows and I only use tools and dependencies that also support it. I myself never use Windows. |
We are well aware you are using pipx. However, pipx merely wraps pip, and thus uses pip's solver. You can see from the file that you linked that you are directly passing arguments to pip, which is wrapped by pipx:
Injecting additional constraints is not in fact, the suggested/supported usage of Furthermore, solving is involved here. You have not provided a fully-specified solution to pip, so it will do the following:
pip solves at install time, without a locking stage like Poetry. Poetry is just another package, and what is happening here is that your constraints are complex enough that pip is failing to come up with a working resolution on every platform. There are three paths forward here:
Your previous usage happened to work as the intersection of Poetry + your other constraints was solvable by pip. That is no longer true. We, the Poetry project, do not support install methods other than the ones we specify, and the only packages we provide are high-quality Python packages (no different from/special in comparison to anything else on PyPI). If you try to do something more fancy/opinionated than a 'standard' install method like |
@neersighted thanks a lot for the in-depth response and actually you are totally right. I did a test removing constraints and adding |
If you just want to have Dependabot bump Poetry for you, removing all other versions from the constraints.txt you use should be sufficient: e.g. pipx install --pip-args=--contraint=poetry-constraints.txt poetry poetry-constraints.txt:
|
Exactly, I also had the same idea. |
…ipx in CI job See details in discussion python-poetry/poetry#7216
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
-vvv
option) and have included the output below.Issue
When upgrading the constraints to poetry==1.3.1 we get on logs:
Logs can be seen in these repos:
The text was updated successfully, but these errors were encountered: