You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I do not see the latest version of Sphinx in the lockfile. Instead, I see that Sphinx has been pinned to an older version v7.4.7:
...
[[package]]
name = "sphinx"version = "7.4.7"...
Why does this happen?
When I tried to force the issue by requiring Sphinx>=8.0.2 in the TOML and re-running the PDM update I got a circular dependency resolution issue, where this line appears repeatedly in the resolution pinning stages for various dependencies related to Sphinx, for example myst-parser:
...
pdm.termui: Adding requirement sphinx<8,>=6(from myst-parser 3.0.1)
pdm.termui: Candidate rejected: myst-parser@3.0.1 because it introduces a new requirement sphinx<8,>=6 that conflicts with other requirements:
...
pdm.termui: Adding requirement sphinx<8,>=6(from myst-parser 3.0.0)
pdm.termui: Candidate rejected: myst-parser@3.0.0 because it introduces a new requirement sphinx<8,>=6 that conflicts with other requirements:
...
pdm.termui: Adding requirement sphinx<8,>=6(from myst-parser 2.0.0)
pdm.termui: Candidate rejected: myst-parser@2.0.0 because it introduces a new requirement sphinx<8,>=6 that conflicts with other requirements:
...
Actually, the latest myst-parser (v3.0.1) is compatible with Sphinx>=7,<9. So where is sphinx<8,>=6 coming from with the Sphinx>=8.0.2 option?
So, in summary, without any range pinning of Sphinx in the project TOML the latest version is not being found and pinned in the lockfile with the PDM update command for --dev dependencies, and, for the same command, the lower range pinning of Sphinx to the latest version (v8.0.2) is causing the resolution of non-Sphinx dependencies that depend on Sphinx to loop because there is a mistaken conclusion that those dependencies are not compatible with the latest version of Sphinx.
Actual behavior
See above.
Expected behavior
An updated lockfile with the latest version of Sphinx (v8.0.2).
sr-murthy
changed the title
PDM update picking up the latest version of a dev. dependency (Sphinx)
PDM update not picking up the latest version of a dev. dependency (Sphinx)
Aug 3, 2024
Steps to reproduce
My project documentation depends on Sphinx (latest @ v8.0.2). This is defined as a dev. dependency in the project TOML, without any range pinning:
Note that almost all of the non-
Sphinx
docs dependencies depend onSphinx
.But when I recently tried to update all of the dev. dependencies (excluding the project itself) in the PDM lockfile via:
I do not see the latest version of Sphinx in the lockfile. Instead, I see that Sphinx has been pinned to an older version v7.4.7:
Why does this happen?
When I tried to force the issue by requiring
Sphinx>=8.0.2
in the TOML and re-running the PDM update I got a circular dependency resolution issue, where this line appears repeatedly in the resolution pinning stages for various dependencies related to Sphinx, for examplemyst-parser
:Actually, the latest
myst-parser
(v3.0.1) is compatible with Sphinx>=7,<9. So where issphinx<8,>=6
coming from with theSphinx>=8.0.2
option?So, in summary, without any range pinning of
Sphinx
in the project TOML the latest version is not being found and pinned in the lockfile with the PDM update command for--dev
dependencies, and, for the same command, the lower range pinning of Sphinx to the latest version (v8.0.2) is causing the resolution of non-Sphinx
dependencies that depend onSphinx
to loop because there is a mistaken conclusion that those dependencies are not compatible with the latest version ofSphinx
.Actual behavior
See above.
Expected behavior
An updated lockfile with the latest version of
Sphinx
(v8.0.2).Environment Information
The text was updated successfully, but these errors were encountered: