.. _installation_guide/appendix/virtualenv: Uso dei virtualenv ================== Quando su una macchina in produzione convivono più istanze e/o più versioni della stessa istanza, si consiglia l'utilizzo dei `virtualenv `_, ovvero degli ambienti virtuali indipendenti dove ogni progetto può utilizzare differenti set di versioni e librerie di Python. Per utilizzare i *virtualenv* Genropy mette a disposizione, all'interno del :ref:`deploybuilder` , un comodo script per riportare in un ambiente virtuale i progetti già presenti in un ambiente principale. .. raw:: html
Si consiglia innanzitutto di creare una cartella per ospitare i *virtualenv* nella *root* principale e di entrare in essa:: mkdir virtualenvs cd virtualenvs A questo punto è sufficiente lanciare lo script:: gnr app deploybuilder -e testvenv -c -p sandbox,myfatturazione -b develop - con l'attributo ``-e`` andiamo a creare la cartella dell'env (*testenv*), che ospiterà il nostro primo *env* - con l'attributo ``-c`` specifichiamo allo script di copiare anche il repository di Genropy - con l'attributo ``-p`` specifichiamo di copiare i progetti, separati da virgola ("sandbox" e "myfatturazione") - con l'attributo ``-b`` scegliamo di utilizzare per Genropy il ramo *develop* Verranno quindi riproposte nella cartella di destinazione le cartelle *genropy* e, all'interno della stessa cartella dei progetti (generalmente *genropy_projects*), i due progetti "sandbox" e "myfatturazione". Il virtualenv avrà a questo punto un suo :ref:`environment` , non contenuto in *.gnr*, bensì nella cartella ``etc/gnr`` interna al *virtualenv*. Una volta attivato l'ambiente virtuale con:: source bin/activate sarà possibile procedere con il :ref:`deploybuilder` , in maniera analoga al caso standard. Lo script creerà anche un suo *gnrdaemon* (nel nostro caso ``gnrdaemon_testvenv``) e un suo *gnrsiterunner* (``gnrsiterunner_testvenv``). .. hint:: Si noti che in caso di avvio/riavvio saranno questi ultimi i processi da riavviare, rendendo le istanze totalmente indipendenti rispetto a quelle principali:: sudo service gnrsiterunner_testvenv stop / start / restart sudo service gnrdaemon_testvenv stop / start / restart .. sectionauthor:: Davide Paci