Question

Cela devrait être un scénario commun, mais n'a pas pu trouver un poste correspondant encore ..

Je prévois de déployer une bibliothèque Python (je suppose que le même pour des applications régulières) qui utilise des images et d'autres fichiers de ressources. Quel est l'emplacement standard pour ces articles? J'imagine, pour le projet Foo, les choix seraient

  • Avoir dans le répertoire resources référentiel source, puis déplacer les fichiers vers /usr/share/foo/
  • La place des ressources directement à l'intérieur du paquet python qui va sous /usr/lib/python-<version>/foo/

Toutes les suggestions?

Edit:. Comme suggéré, précisant que la plate-forme principale ce sera en cours d'exécution sur Linux est

Était-ce utile?

La solution

Cette question est quelque peu incomplète, car une bonne réponse dépendra du système d'exploitation sous-jacent, comme chacun a son propre mode de fonctionnement. Dans linux (et la plupart des systèmes d'exploitation unix), par exemple / usr / share / foo ou / usr / local / share / foo serait la norme. Dans OS X, vous pouvez faire la même chose, mais je pense « / Library / Application Support / Foo » (bien que ce soit habituellement pour stocker les paramètres et autres joyeusetés) serait l'endroit idéal pour mettre de telles choses, mais si vous écrivez des bibliothèques suite à la idée « cadre », toutes les ressources seraient incluses dans le /Library/Frameworks/Foo.Framework » ... Apps sur OS X d'autre part devrait conserve toutes les ressources là-bas dans le répertoire des ressources à l'intérieur Foo.app

Autres conseils

Nous avons des fichiers non dans py /opt/foo/foo-1.2/...

Sauf, bien sûr, pour les médias statiques qui est servi par Apache, qui va à /var/www/html/foo/foo-1.1/media/...

Sauf, bien sûr, pour les fichiers de configuration spécifiques au client. Ils vont à /var/opt/customer/foo/...

Les suivent les normes Linux comme je les comprends.

Nous essayons de rester loin de et /usr/lib/ sortes d'endroits /lib parce que ceux qui se sentent comme ils font partie de la distribution. Nous penchez vers et /opt parce qu'ils sont /var clairement séparés des répertoires distro linux.

standard est l'emplacement où va votre libs standard. Mais il ne semble pas à moi de ce que vous avez écrit, que vous voulez que votre python lib là. Je pense que vous devriez essayer virtualenv .

Si vous ne voulez pas passer par tous les problèmes (bien, vraiment revient juste pour vous sudo easy_install virtualenv), vous pouvez essayer de vider tout votre python lib dans un répertoire dans votre et faire quelque chose ~/ le long des lignes de

import sys
sys.path.append( '/full/path/to/your/lib/goes/here')

pour une application donnée qui utilise votre lib.

S'il vous plaît garder à l'esprit que les exemples donnés sont pour le test-fins seulement. Pour tout ce live-ish, je vous recommandons d'utiliser distutil . Des exemples d'utilisation sont donnés .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top