frouin.me

virtualenv

Introduction

user

Jean-Michel Frouin

CTO @ WakeOnWeb.com


bash python django

virtualenv

Posted by Jean-Michel Frouin on .
Featured

bash python django

virtualenv

Posted by Jean-Michel Frouin on .

Introduction

Lors de mes premiers projets DJango j'ai foncé un peu tête la première dans le Framework, et ensuite j'ai découvert VirtualEnv, South ...
Du coup je me suis dis qu'il fallait écrire un billet pour la prochaine fois que je redémarrerai un projet DJango, pour le faire proprement. En googlant je suis tombé sur le lien fournit dans la section "Références".
Du coup je m'en suis fortement inspiré, pour la rédaction de ce billet.

Environnement virtuel Python

Pour utiliser virtualenv, le petit utilitaire qui va permettre de gérer les problèmes de dépendances Python que l'on va avoir sur un projet DJango, il faut Python et bien entendu virtualenv.

Installation

Pour installer les deux, il faut, sur Ubuntu :

sudo apt-get install python python-virtualenv

Création de l'environnement

On créé donc un environnement virtuel dans lequel on travaillera :

virtualenv mon_app_env

Utilisation

On entre dedans pour travailler :

source ./mon_app_env/bin/activate

Quand on à finit de travailler, on en sort :

deactivate

Simple, non ?

Sauvegarde des dépendances

Une fois tous les paquets installés avec pip, on peut faire un dump des dépendances :

pip freeze > requirements.txt

Ainsi, pip, va écrire dans un fichier les modules et leur versions associées, à utiliser (Un peu à la façon d'un composer.json en Symfony):

Django==1.5.1
MySQL-python==1.2.4
PIL==1.1.7
Unipath==1.0
argparse==1.2.1
django-comments==1.0.0.b
django-debug-toolbar==0.9.4
django-gmapi==1.0.1
wsgiref==0.1.2

Restauration des dépendances

Et les réinstaller sur une machine 'vierge'

pip install -r requirements.txt

Installer DJango

On oublie pas avant d'installer Django, d'entrer dans l'environnement de travail de notre application :

source ./mon_app_env/bin/activate

Une fois dedans on installe tous les paquets dont on à besoin, et notamment django :

pip install django

Références

Starting a Django project the right way

user

Jean-Michel Frouin

https://frouin.me

CTO @ WakeOnWeb.com