-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
-
Poetry version: 1.2.2
-
Python version: 3.8.12
-
OS version and name: Ubuntu 20.04
-
pyproject.toml: https://gist.github.com/itsdani/56f0cf43397bc32daefb34622efb95f5
-
I am on the latest stable Poetry version, installed using a recommended method.
-
I have searched the issues of this repo and believe that this is not a duplicate.
-
I have consulted the FAQ and blog for any relevant entries or release notes.
-
If an exception occurs when executing a command, I executed it again in debug mode (
-vvvoption) and have included the output below.
Issue
We have a package (lib-one) which has the following versions:
- 1.0.6a1
- 1.0.6a1.post1.dev20221011110403
- 1.0.6a1.post2.dev20221011110301
- 1.0.7
We would like to install the latest post-release for 1.0.6a1 i.e. 1.0.6a1.post2.dev20221011110301 with a version constraint ==1.0.6a1.*. There is no lock-file yet. After poetry install an unexpected version is installed.
Expected behavior
We expect the 1.0.6a1.post1.dev20221011110403 to be installed
Actual behavior
The 1.0.6a1 version is installed
The relevant output from poetry install -vvv:
Updating dependencies
Resolving dependencies...
1: fact: lib-two is 1.0.0
1: derived: lib-two
1: fact: lib-two depends on lib-one (==1.0.6a1.*)
1: selecting lib-two (1.0.0)
1: derived: lib-one (==1.0.6a1)
1: selecting lib-one (1.0.6a1)
1: Version solving took 0.304 seconds.
1: Tried 1 solutions.
Workaround
In this case the version constraint ">=1.0.6a1, <1.0.6a2" basically does what we want, but based on the documentation and PEP 440, the ==1.0.6a1.* constraint should result in the same package version in this scenario.
This worked as expected in poetry 1.1.15, but doesn't work since 1.2.0