2014-10-22 12 views
14

In che modo PyPI gestisce la distinzione tra maiuscole e minuscole?PyPI è sensibile alle maiuscole/minuscole?

Ad esempio, this SO question documenti PyPI che rifiuta un nuovo pacchetto foobar se esiste già FooBar.

Esecuzione pip contro pypi.python.org sembra per convertire al caso canonica per un pacchetto:

$ pip install django 
Downloading/unpacking django 
    Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded 

alternativa:

$ pip install Django 
Downloading/unpacking Django 
    Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded 

Tuttavia, solo alcuni file sembrano essere in canonica caso nel mio virtualenv:

$ ls ~/pyenvs/test_venv/lib/python2.7/site-packages/ | grep -i django 
django/ 
Django-1.7-py2.7.egg-info/ 

Cosa fa XML-RP L'API C si aspetta? Posso sempre presumere che http://pypi.python.org/simple/foo e http://pypi.python.org/simple/FoO restituiranno entrambi HTTP 200?

La posizione di PyPI su case-sensitive è documentata ovunque?

+2

IMHO, la "canonica" si osserva caso non è nella responsabilità di PyPI, ma piuttosto degli sviluppatori Django: Il loro pacchetto è costituito da un minuscolo 'Django' cartella (in accordo con il python styleguide sui nomi dei pacchetti), mentre hanno chiamato il pacchetto pypi "Django". – sebastian

+1

I nomi dei pacchetti in pypi sono effettivamente maiuscole e minuscole, ma non ho trovato alcuna documentazione a riguardo. – laike9m

risposta

10

No, la pip non fa distinzione tra maiuscole e minuscole.

Tutti i confronti dei nomi di distribuzione DEVONO essere insensibili alle maiuscole e minuscole e DEVONO considerare i trattini e i caratteri di sottolineatura come equivalenti. da pep-426

Problemi correlati