-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Choosing a prerelease if no stable versions are available to satisfy a requirement #9121
Comments
Just a quick note, your analysis isn't quite right, as >>> Version("1.0rc1") > Version("1.0a0")
True Do you get the same result if you specify Also, your console output appears inconsistent:
You installed 2.4.0rc0, but you have 2.4.0rc1. Assuming you copy and pasted this from an actual session, there's something going on in the "..." that might be relevant here... |
Alright, thanks for checking the I re-did the whole thing (on Windows this time), with complete output and Regarding the apparent inconsistency, it says It seems to be working with I had expected that By the way, I am on
|
Extending my arguments above, I have noticed that (I added the |
This is basically the reverse example of #7579 (there’s an example similar to this toward the end of the thread), pip’s implementation of PEP 440 logic is faulty. |
Can confirm, on pip 20.3: $ pip install "tensorflow>2.4.0rc3"
ERROR: Could not find a version that satisfies the requirement tensorflow>2.4.0rc3
ERROR: No matching distribution found for tensorflow>2.4.0rc3
$ pip install "tensorflow>2.4.0rc3" --use-deprecated=legacy-resolver
ERROR: Could not find a version that satisfies the requirement tensorflow>2.4.0rc3 (from versions: 2.2.0rc3, 2.2.0rc4, 2.2.0, 2.2.1, 2.3.0rc0, 2.3.0rc1, 2.3.0rc2, 2.3.0, 2.3.1, 2.4.0rc0, 2.4.0rc1, 2.4.0rc2, 2.4.0rc3, 2.4.0rc4)
ERROR: No matching distribution found for tensorflow>2.4.0rc3
$ pip install "tensorflow>2.4.0rc3" --pre
Collecting tensorflow>2.4.0rc3
Downloading tensorflow-2.4.0rc4-cp38-cp38-macosx_10_11_x86_64.whl (175.5 MB)
|█ | 5.2 MB 5.3 MB/s eta 0:00:32^C
ERROR: Operation cancelled by user
$ pip install "tensorflow>2.4.0rc3" --use-deprecated=legacy-resolver --pre
Collecting tensorflow>2.4.0rc3
Downloading tensorflow-2.4.0rc4-cp38-cp38-macosx_10_11_x86_64.whl (175.5 MB)
|█▊ | 9.6 MB 4.4 MB/s eta 0:00:39^C
ERROR: Operation cancelled by user |
Confirm with Python 3.8.5 + pip 20.1.1, which specifier check works well in v20.1.1 but work wrong in v20.3.3. To reproduce the right case:
To reproduce the wrong case:
See also: vscode-restructuredtext/vscode-restructuredtext#257 (comment) |
What's the problem this feature will solve?
This may be an issue or not - I have looked through PEP440 and haven't found anything. Basically, when installing
package>1.0a0
, I'd expect1.0rc1
to be installed if it's the only prerelease version available. This is not the case.Describe the solution you'd like
I'd like
pip
to understand thatrc
>a
. Unless I am mistaken, we have all of thesebut we do not have
Some console output:
The text was updated successfully, but these errors were encountered: