2009-08-28 8 views
2

J'ai créé une application en utilisant py2app, qui fonctionne correctement, mais si je la zippe/décompresse, la nouvelle version décompressée ne peut pas accéder aux modules python standard tels que traceback, ou os. La page de manuel de zip prétend qu'elle préserve les fourchettes de ressources, et j'ai vu d'autres applications empaquetées de cette façon (j'ai besoin de pouvoir mettre ceci dans un fichier .zip). Comment puis-je réparer ça? Utilisez zip -y ... pour créer le fichier tout en préservant les liens symboliques.Py2App Impossible de trouver les modules standard

Répondre

0

0

Vous avez probablement besoin de lui donner votre PYTHONPATH complet.

Dépend de votre système d'exploitation. Voici comment savoir:

import [ou tout autre module std] os. fichier()

4

Ceci est dû à la construction d'une version semi-autonome qui contient des liens symboliques aux fichiers nativement installés et comme vous le dites, les liens sont perdus lorsque zipper/décompressé à moins que le « -y » l'option est utilisée.

Une solution alternative est de construire pour autonome à la place, ce qui place les fichiers (domaine public) dans l'application et ainsi survit à zipper/décompresser mieux. Cela signifie également que l'application est plus résistante aux modifications du système d'exploitation sous-jacent. L'inconvénient est qu'il est plus grand, bien sûr, et qu'il est plus compliqué de le mettre en place.

Pour créer une version autonome, vous devez installer la version python.org qui peut être reconditionnée. Une explication de la procédure à suivre est here, mais lisez les commentaires car des modifications ont été apportées depuis la rédaction du billet.

Questions connexes