[Python] ===

Strap lab a strap.it
Mar 30 Dic 2014 11:29:35 CET


Fabrizio Soppelsa <fsoppelsa.ml <at> yandex.com> writes:

> 
> Ciao a tutti,
> 
> mi sono imbattuto in questo curioso output durante un pip freeze:
> 
>      python-glanceclient===openstack.postci-0.11.0-5.0.1.post1
> 
> Cosa significa === in questo caso?
> Mi viene in mente un'identità, che abbia a che fare con il tipo, ma che 
> senso ha? Oppure semplicemente la stringa inizia con =, il che sarebbe ROFL.
> Non trovo info di tale costrutto né in python né in pip.
> Idee?
> 

Ciao Fabrizio,

la tua domanda mi ha incuriosito, cosi`...

La documentazione di pip il link http://bit.ly/1HZ5fDb porta a http://bit.ly/1B1jYgG 
Poi, guardando il codice sorgente di setuptools ho trovato queste righe 
(perdona l'indentazione, questo e` il link - http://bit.ly/1EEn7aa):

    def as_requirement(self):
        """Return a ``Requirement`` that matches this distribution exactly"""
        if isinstance(self.parsed_version, packaging.version.Version):
            spec = "%s==%s" % (self.project_name, self.parsed_version)
        else:
            spec = "%s===%s" % (self.project_name, self.parsed_version)

        return Requirement.parse(spec)

Deduco che '==' e '===' siano la stessa cosa.

Che dici, siamo sulla strada giusta? :-)

Sani
Strap




Maggiori informazioni sulla lista Python