Question

Je l'habitude d'être un développeur java et nous avons utilisé des outils comme des fourmis ou Maven pour gérer notre développement / tests / environnements UAT de manière standardisée. Cela nous a permis de manipuler les dépendances de la bibliothèque, la définition des variables OS, la compilation, le déploiement, l'exécution de tests unitaires, et toutes les tâches requises. En outre, les scripts générés garantit que tous les environnements étaient presque également configurés, et toutes les tâches ont été exécutées de la même manière par tous les membres de l'équipe.

Je commence à travailler en Python maintenant et je voudrais vos conseils dans quels outils dois-je utiliser pour accomplir le même que celui décrit pour java.

Était-ce utile?

La solution

  1. virtualenv pour créer un environnement virtuel contenu (éviter les différentes versions de Python ou Python paquets de piétiner les uns des autres). Il y a buzz de plus en plus de personnes qui se déplacent à cet outil. L'auteur est le même que celui working-env.py plus mentionné par Aaron.

  2. pip pour installer des paquets dans un virtualenv. La traditionnelle est easy_install comme réponse par S. Lott, mais pip fonctionne mieux avec virtualenv. easy_install a encore des caractéristiques ne trouve pas dans pip bien.

  3. scons comme outil de construction, bien que vous ne aurez pas besoin si vous restez purement Python .

  4. pâte tissu, ou paver pour le déploiement.

  5. buildbot pour l'intégration continue.

  6. Bazar, Mercurial, ou git pour le contrôle de version.

  7. nez comme une extension pour les tests unitaires.

  8. PyFit FIT test.

Autres conseils

Je travaille aussi avec Java et Python. Pour le développement de python l'équivalent Maven est setuptools ( http://peak.telecommunity.com/DevCenter/setuptools). Pour le développement d'applications web, je l'utilise en combinaison avec ce Paster ( http://pythonpaste.org/ ) pour le processus de déploiement

Autre que easy_install ?

Pour nos serveurs Linux, nous utilisons easy_install et yum.

Pour nos ordinateurs portables de développement Windows, nous utilisons easy_install et quelques MSI pour certains projets.

La plupart des bibliothèques Python que nous utilisons sont source seulement, donc nous pouvons utiliser la même distribution sur toutes les cases. Si nous pouvions avoir un dispositif partagé de réseau, nous aimerions les mettre là. Malheureusement, notre infrastructure est une sorte de dispersée, donc nous devons soit déplacer .tar autour ou refaire les installations pour reconstruire les environnements.

Dans quelques cas (par exemple, LIP), nous devons recompiler et vérifier les numéros de version.

Vous voulez easy_setup pour obtenir les œufs (à peu près ce que Maven appelle un artefact).

Pour la configuration de votre environnement, consultez la page working-env.py

Python est pas compilé, mais vous pouvez mettre tous les fichiers d'un projet dans un œuf. Cela se fait avec setuptools

Pour CI, vérifiez cette réponse .

Nous serions négligents de ne pas mentionner aussi Finisseur , qui a été créé par Kevin Dangoor de TurboGears renommée. Le projet est encore en alpha, mais il semble très prometteur. Un extrait de la page du projet:

  

Paver est un outil de script build / distribution / déploiement basé sur Python le long des lignes de Marque ou Rake. Ce qui rend Finisseur unique est son intégration avec les bibliothèques Python couramment utilisées. Les tâches courantes qui étaient faciles avant restent faciles. Plus important encore, le traitement de vos applications besoins et exigences spécifiques est maintenant beaucoup plus facile.

Je fais exactement cela avec une combinaison de setuptools et Hudson. Je sais que Hudson est une application java, mais il peut exécuter des trucs Python très bien.

Vous pouvez consulter notre Devenv . Il vous permet de standardiser les environnements de construction pour le développement, l'assurance qualité et UAT. Il est gratuit comme dans « bière ».

HTH

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