pip wheel installer doesn't like case-sensitive extra requirements.
See original GitHub issueI have a package that uses some extra requirements with mixed-case identifiers.
When I install the wheel from PyPI via pip install aiomas[MsgPack]
, the extra requirements don’t get installed.
It works when I install the source dist via pip install --no-use-wheel aiomas[MsgPack]
or from source via pip install -e .[MsgPack]
.
I have:
- pip 6.0.8
- setuptools 12.0.5
Maybe it’s a problem with case-(in)sensitivity?
Issue Analytics
- State:
- Created 9 years ago
- Comments:6 (4 by maintainers)
Top Results From Across the Web
Case sensitive issue on Windows · Issue #3309 · pypa/pip
pip install pycrypto -> Installs pycrypto to 'Crypto', but because the fs on windows is case-insensitive, it installs to the already existing crypto....
Read more >Pip case sensitivity - python - Stack Overflow
No, pip is not case sensitive. All comparisons of distribution names must be case insensitive, and must consider hyphens ...
Read more >PyPi Package Registry is case sensitive (#244412) - GitLab
PEP 426 states: All comparisons of distribution names MUST be case insensitive, and MUST consider hyphens and underscores to be equivalent.
Read more >Packaging and distributing projects
This section covers some additional details on configuring, packaging and distributing Python ... Comparison of project names is case insensitive and treats ...
Read more >Is PIP/PyPI Case Sensitive? - Finxter
PyPI and PIP are not case-sensitive. Instead, Python package names are case-insensitive. For example, it doesn't matter whether you run pip install Pandas...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Closing this, I can’t reproduce this. If you’re still having issues please open a new issue with reproduction steps.
@dholth Would that help in this case? The problem is with the extras requested from the command-line.
A quick fix would be to run the extras through
pkg_resources.safe_extra
; attached is a completely untested patch as demonstration. pip-req_set-2518.patch.txtA more thorough patch would include additional tests and probably examine the other use of
.extras
inadd_requirement
, around line 255.A better fix would be to refactor
_prepare_file
; at ~250 lines, it’s way too long. The extras processing itself could easily be extracted as it needs onlydist
andreq_to_install
.