2010-02-19 16 views
4

Quand je easy_install certains modules de python, des avertissements tels que:avertissements émis lors de 'easy_install'

<some module>: module references __file__ 
<some module>: module references __path__ 
<some module>: module MAY be using inspect.trace 
<some module>: module MAY be using inspect.getsourcefile 

a parfois émis.

D'où (quel paquet/fichier source) ces messages proviennent-ils? Pourquoi le référencement ou __path__ est-il considéré comme une mauvaise chose?

Répondre

6

easy_install n'aime pas l'utilisation de et __path__ pas tellement parce qu'ils sont dangereux, mais parce que les emballages qui les utilisent ne parviennent presque jamais à manquer d'oeufs zippés.

easy_install est un avertissement car il s'installe "moins efficacement" dans un répertoire décompressé au lieu d'un oeuf zippé.

En pratique, je suis généralement content lorsque la vérification zip_safe échoue, parce que si j'ai besoin de plonger dans la source d'un module, c'est beaucoup plus facile.

1

Je ne m'inquiéterais pas à ce sujet. Comme le note durin42, cela signifie simplement que setuptools ne compressera pas l'oeuf quand il le mettra dans des paquets de site. Si vous ne voulez pas voir ces messages, je crois que vous pouvez simplement utiliser le drapeau -Z pour easy_install. Cela le fera toujours décompresser l'oeuf. Je recommande l'utilisation pip. Il vous donne beaucoup moins de sortie inutile à traiter.

+0

En cas où quelqu'un se demandait, ceci est correct à propos de '-Z' (' --alors-unzip (-Z) ne s'installe pas comme un fichier zip, peu importe quoi'). – chown

+0

Bien que -Z signifie toujours installer décompressé, il crachera toujours les avertissements (au moins, il le fait pour moi). –