[Zope3-french-user] zopeproject et un soupir
Christophe Combelles
ccomb at free.fr
Mar 27 Nov 12:27:26 CET 2007
Thierry Florac a écrit :
> Le dimanche 25 novembre 2007 à 19:28 +0100, Gael Pasgrimaud a écrit :
>> Hello Christophe,
>>
>> Je penses que virtualenv est une bonne solution. Ca éviteras au moins
>> qu'il y ai confusion entre les eggs du système et ceux de zopeproject.
>> Préciser les versions ne changera pas grand chose. C'est toujours le
>> premier egg trouvé dans le sys.path qui aura la priorité.
>> C'est d'ailleurs curieux qu'il t'indique la version qui n'est pas
>> prise en compte en ZMI...
>>
>> Le but de buildout/zopeproject est d'être déployé sur un système
>> vierge de tout package zope.
>> Ainsi tu peux avoir N installations de versions différentes.
>> D'ailleurs normalement avec buildout les librairies du python système
>> ne sont pas prise en compte.
>> Il doit y avoir une bidouille en plus dans zopeproject.
>
>
> Je confirme effectivement que j'ai utilisé ZopeProject au sein d'un
> environnement créé avec VirtualEnv et a priori tout fonctionne
> normalement au niveau des packages ; c'est donc très pratique pour
> récupérer les packages mais je trouve qu'il reste quelques points un peu
> agaçants (ou que je n'ai pas compris !) au niveau de la gestion des
> packages :
> - le fait de modifier le fichier setup.py permet de récupérer tous les
> packages ajoutés et leurs dépendances ; par contre, cela n'intègre pas
> les packages en question au niveau des fichiers ZCML et c'est un peu
> dommage, il faut sans cesse relancer l'application pour voir ce qui
> manque
Si tu parles d'ajouter automatiquement un slug zcml (le machin d'une ligne qu'on
mettait dans etc/site-packages, il faut apparemment ajouter une ligne zcml= ...
dans le buildout.cfg
http://plone.org/documentation/tutorial/buildout/understanding-buildout.cfg
Mais je n'ai pas compris quels sont les rôles respectifs du setup.py par rapport
au buildout.cfg
> - ce mode de déploiement est très pratique pour faire du
> développement ; est-ce que c'est applicable à un site en production ?
oui, ça a été créé pour faire les deux, apparemment
> - ZopeProject configure l'environnement (et les eggs de distribution)
> pour un seul package ; comment est-ce que l'on doit procéder lorsque
> l'on travaille simultanément sur plusieurs packages (distribuables
> séparément) au sein d'une même application ?
je parle à moitié en aveugle, mais il doit s'agir de l'option develop= du
buildout.cfg qui permet de spécifier plusieurs eggs en développement ?
Tu peux même transformer un egg de distribution en egg de developpement le
modifier puis en faire une nouvelle publication dans la foulée, et le remettre
en mode distribution.
> - le serveur HTTP installé par défaut dans ZopeProject est sauf erreur
> de ma part celui proposé par le projet Paste, alors que la version
> précédente de Zope3 s'appuyait sur Twisted. J'utilise certaines
> fonctions propres à Twisted (pour gérer des tâches façon crontab,
> notamment). En dehors du fait que Twisted ne peut pas être récupéré via
> easy_install (sous Debian en tous cas), comment est-ce que l'on peut
> reconfigurer le projet de façon à utiliser Twisted au lieu de Paste ??
> - accessoirement, quelqu'un peut-il m'expliquer les différences
> importantes qui existent entre les différents serveurs HTTP utilisables
> pour Zope3 ?
Je crois pas que paste soit un serveur http, c'est plutôt un truc qui permet de
gérer la partie WSGI, à laquelle je n'ai pas compris grand chose, d'ailleurs.
Il faut regarder d'où provient la commande "serve" qui est utilisée avec paste,
car les eggs peuvent ajouter des commandes à paste.
j'avais juste lu que zserver était un peu plus rapide que twisted, mais moins
souple. Mais ça veut pas dire grand chose.
Christophe
>
> Merci de vos compléments de réponses...
> A+
>
> Thierry Florac
Plus d'informations sur la liste de diffusion zope3-french-user