10
votes

Comment migrer de Virtualenv vers la construction?

Je tente de déplacer un projet de virtualenv à bâtiments , mais je ne pense pas avoir saisi tout le concept de bâtiment . Tous les tutoriels que j'ai trouvés discutent construction dans le contexte de l'utiliser avec zope , que je n'utilise pas et que je ne vois donc pas comment continuer.

Ma structure de fichier avec virtualenv est la suivante: xxx

qui est exécuté à l'aide de / chemin / à / VENVS / myApp / bin / myapp / bin / python /path/to/myapp/script.py.<

with Buildout , ma structure de fichier est: xxx

exécution python bootstrap.py et bin / bâtiment me donne ces fichiers supplémentaires: xxx

à ce stade Je ne sais pas comment "gérer" mon application.

Conseil?


0 commentaires

3 Réponses :


3
votes

bâtiments et Virtualenv est réellement lié à tangentiellement. Buildout est vraiment sur le déploiement du logiciel de manière contrainte et contrôlée, où Virtualenv consiste à encapsuler l'environnement que le logiciel Python est exécuté. Buildout fournit ce que Virtualenv fait en soi, puis enveloppe un peu plus autour de lui.

Pensez à l'établissement comme jeu de recettes de la manière de prendre votre code et de la poser sur un système distant prêt à être exécuté. Une partie de ce processus commence par la création d'une bac à sable propre (ce que Virtualenv peut fournir également) - puis en ajoutant des bibliothèques, des pièces et des pièces dont vous avez besoin.

Je ne suis pas un expert en construction, mais je m'attendrais à ce que votre code principal de Python apparaisse sous "bin" dans votre structure de répertoire et que vous seriez d'une manière ou d'une autre l'invoquer à partir de là.


0 commentaires

3
votes

La recette suivante sera, installez Tornado comme un œuf et crée un script Python et MyApp dans le répertoire BIN avec le chemin de recherche correct pour trouver l'œuf de la tornade.

[buildout] 
parts = python 
eggs = tornado 
extra-paths = ${buildout:directory}

[python] 
recipe = zc.recipe.egg 
interpreter = python 
eggs = ${buildout:eggs} 
entry-points = myapp=app:main 
extra-paths = ${buildout:extra-paths}


0 commentaires

0
votes

Dans notre projet, nous n'utilisons pas non plus Zope. Nous avons pris le temps d'écrire une introduction pour les étudiants sur la manière d'organiser (et de distribuer via PYPI) leur code à l'aide de zc.buildout et des outils d'emballage Python standard. Il est peut-être utile de savoir quiconque lit ce fil: http://www.idiap.ch/software/bob/docs/relases/v1.2.2/sphinx/html/organizeYourCode.html


0 commentaires