Les paquets Python et egg-info répertoires
Quelqu'un peut m'expliquer comment egg-info répertoires sont liés à leurs modules respectifs? Par exemple, j'ai le texte suivant:
/usr/local/lib/python2.5/site-packages/quodlibet/
/usr/local/lib/python2.5/site-packages/quodlibet-2.0.egg-info/
Je suis en supposant que l'œuf-info répertoire est de rendre le module correspondant visible à setuptools (easy_install), droit? Si oui, comment faut-setuptools cravate de l'œuf-info répertoire du répertoire du module?
En supposant que je suis sur la bonne voie, et pour le bien de l'exemple... Si je voulais faire un package existant de la mine visible à setuptools, pourrais-je lien symbolique du répertoire du module et de l'œuf-info répertoire du répertoire site-packages répertoire? J'aurais juste essayé moi-même, mais je ne suis pas sûr de la façon de tester si le paquetage est visible à setuptools. Les points de Bonus si vous pouvez aussi me dire comment tester ça 🙂
La principale raison pour laquelle je suis en train d'essayer de comprendre tout cela parce que j'aimerais lien symbolique de certains de mes modules dans site-packages afin que je puisse apporter des modifications à ce que les changements visibles pour les scripts de les utiliser sans avoir à réinstaller l'oeuf de PyPI après chaque modification.
- Avez-vous encore un quodlibet plugin pour python traîner quelque part? Cela semble vraiment cool.
- C'est probablement quodlibet lui-même -- il est écrit en Python
Vous devez vous connecter pour publier un commentaire.
L' .egg-info répertoires obtenir créé si --single-version-gérés en externe a été utilisé pour installer l'œuf. "Normalement", l'installation d'un œuf serait de créer un répertoire (ou un fichier zip), contenant à la fois le code et les métadonnées.
pkg_resources (qui est la bibliothèque qui lit les métadonnées) a une fonction
require
qui peut être utilisé pour demander une version spécifique de l'emballage. Pour les "old-style", régulièrement des importations, easy_install hacks une .la pth fichier afin d'obtenir l'œuf répertoire sur sys.chemin d'accès. Pour --single-version-gérés en externe, ce piratage n'est pas nécessaire, car il n'y aura qu'une seule version installée (par le système d'pacakging de l'infrastructure, p. ex. tr /min ou dpkg). L'œuf-info est toujours inclus, pour les applications qui utilisentrequire
(ou l'une de l'autre pkg_resources mécanismes de liaison).Si vous voulez installer un paquet par lier entre eux, je vous recommande d'utiliser "setup.py développer". C'est une commande de setuptools qui n'a pas fait installer des œufs, mais le rend disponible à l'échelle du site. Pour ce faire, il crée un oeuf-lien de fichier, de sorte que pkg_resources pouvez le trouver, et il manipule un .la pth fichier, de sorte que la pratique régulière de l'importation de la trouver.
setup.py develop
, utilisezsetup.py develop -u