Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [08/12/2015 18:48] Hypathie [Développer en Python3 avec Django] |
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [14/12/2015 07:39] Hypathie [Créer des projets Django en python2 ou python3] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
===== Installations ===== | ===== Installations ===== | ||
- | **Installer les outils et bibliothèques pour développer en python ou python3** | + | ===Installer les outils et bibliothèques pour développer en python ou python3=== |
<note tip> | <note tip> | ||
Ligne 23: | Ligne 23: | ||
* Bibliothèques FreeType nécessaire par matplotlib | * Bibliothèques FreeType nécessaire par matplotlib | ||
- | <code=root>apt-get install libfreetype6 libfreetype6-dev</code> | + | <code root>apt-get install libfreetype6 libfreetype6-dev</code> |
* Dépendances nécessaire pour la cryptographie | * Dépendances nécessaire pour la cryptographie | ||
Ligne 66: | Ligne 66: | ||
<code root>apt-get install tree</code> | <code root>apt-get install tree</code> | ||
+ | ===Vim IDE coder pour python3 === | ||
+ | |||
+ | * https://debian-facile.org/utilisateurs:hypathie:tutos:vim-ide-python?&#installer-vim-ide-pour-python | ||
+ | * https://code.djangoproject.com/wiki/UsingVimWithDjango | ||
+ | * https://github.com/yodiaditya/vim-pydjango | ||
===== Créer des projets Django en python2 ou python3===== | ===== Créer des projets Django en python2 ou python3===== | ||
Ligne 81: | Ligne 86: | ||
<note tip> | <note tip> | ||
- | L'idée suivie ici est de pouvoir aussi bien créer des projets Django codés en python 3 tandis que c'est la version python 2 qui est en place sur tout le système que l'inverse, c'est-à-dire, pouvoir créer des projects Django codés en python2 alors que c'est python 3 qui est mise en place sur tout le système. \\ | + | **L'idée suivie ici est de pouvoir aussi bien créer des projets Django pour coder en python 3 tandis que c'est la version python 2 qui est en place sur tout le système que l'inverse, c'est-à-dire, pouvoir créer des projects Django pour coder en python2 alors que c'est une version 3 de python qui est mise en place sur tout le système.** \\ |
- | Pour ce faire, on va créer un environnement virtuel dans un dossier créé dans le repertoire courant de l'utilisateur du système. | + | Pour ce faire, on va créer un environnement virtuel dans un dossier créé dans le répertoire courant de l'utilisateur du système. |
On pourra alors installer Django aussi bien pour y coder en python2 qu'en python3, sans se soucier de la version mise en place sur l'ensemble du système. \\ | On pourra alors installer Django aussi bien pour y coder en python2 qu'en python3, sans se soucier de la version mise en place sur l'ensemble du système. \\ | ||
Cela évitera aussi de se mélanger les pinceaux entre les utilitaires ''pip install ...'' ou ''pip3 install ...''. \\ | Cela évitera aussi de se mélanger les pinceaux entre les utilitaires ''pip install ...'' ou ''pip3 install ...''. \\ | ||
- | On n'utilisera pas ''virtualenv'' seul, mais on l'utilisera avec ''pyenv'' afin de s'éviter quelque conflits lors de l'installation de django. \\ | + | **On n'utilisera pas ''virtualenv'' seul, mais on l'utilisera avec ''pyenv'' afin de s'éviter quelque conflits lors de l'installation de django.** \\ |
En effet : | En effet : | ||
Ligne 132: | Ligne 137: | ||
<code user>git clone https://github.com/yyuu/pyenv.git ~/.pyenv</code> | <code user>git clone https://github.com/yyuu/pyenv.git ~/.pyenv</code> | ||
+ | |||
+ | * On configure le PATH en ajoutant quelques lignes au fichier ~/.bashrc | ||
+ | |||
<code user>echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc</code> | <code user>echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc</code> | ||
<code user>echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc</code> | <code user>echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc</code> | ||
<code user>echo 'eval "$(pyenv init -)"' >> ~/.bashrc</code> | <code user>echo 'eval "$(pyenv init -)"' >> ~/.bashrc</code> | ||
+ | |||
+ | * On recharge son shell | ||
+ | |||
<code user>exec $SHELL</code> | <code user>exec $SHELL</code> | ||
- | <code user>pyenv</code> | ||
- | <code retour>pyenv 20151124-16-g132179d | ||
- | Usage: pyenv <command> [<args>] | ||
- | Some useful pyenv commands are: | + | * On installe les versions de python que l'on voudra utiliser dans différents projets |
- | commands List all available pyenv commands | + | |
- | local Set or show the local application-specific Python version | + | |
- | global Set or show the global Python version | + | |
- | shell Set or show the shell-specific Python version | + | |
- | install Install a Python version using python-build | + | |
- | uninstall Uninstall a specific Python version | + | |
- | rehash Rehash pyenv shims (run this after installing executables) | + | |
- | version Show the current Python version and its origin | + | |
- | versions List all Python versions available to pyenv | + | |
- | which Display the full path to an executable | + | |
- | whence List all Python versions that contain the given executable | + | |
- | See `pyenv help <command>' for information on a specific command. | ||
- | For full documentation, see: https://github.com/yyuu/pyenv#readme</code> | ||
<code user>pyenv install 2.7.9</code> | <code user>pyenv install 2.7.9</code> | ||
<code user>pyenv install 3.4.3</code> | <code user>pyenv install 3.4.3</code> | ||
Ligne 193: | Ligne 188: | ||
* Pour coder dans une version de python, on appelle le shell de pyenv de la version souhaitée | * Pour coder dans une version de python, on appelle le shell de pyenv de la version souhaitée | ||
- | - Pour que le shell de pyenv utilise la version 2 (installée plutôt) | + | - Pour utiliser la version 2 (installée plutôt) |
<code user>pyenv shell 2.7.9</code> | <code user>pyenv shell 2.7.9</code> | ||
- Pour savoir quelle est la version de son shell | - Pour savoir quelle est la version de son shell | ||
Ligne 205: | Ligne 200: | ||
<code user>/home/hypathie/.pyenv/shims/python</code> | <code user>/home/hypathie/.pyenv/shims/python</code> | ||
- | - Pour que le shell de pyenv utilise la version 3 (installée aussi plutôt) | + | - Pour utiliser la version 3 (installée aussi plutôt) |
<code user>pyenv shell 3.4.3</code> | <code user>pyenv shell 3.4.3</code> | ||
<code user>python --version</code> | <code user>python --version</code> | ||
Ligne 232: | Ligne 227: | ||
====Installer Django ==== | ====Installer Django ==== | ||
+ | |||
+ | * On vérifie qu'on est dans le répertoire de l'environnement préparé plus haut | ||
+ | |||
+ | <code user>pwd</code> | ||
+ | <code retour>/home/hypathie/ProjetsDjangoPy3</code> | ||
+ | |||
+ | * On installe Django | ||
<code user>pip install django</code> | <code user>pip install django</code> | ||
Ligne 257: | Ligne 259: | ||
<code user>python3 -c "import django; print(django.get_version())"</code> | <code user>python3 -c "import django; print(django.get_version())"</code> | ||
- | aussi bien que : | + | on a aussi : |
- | + | ||
- | <code user>python -c "import django; print(django.get_version())"</code> | + | |
<code retour>1.9</code> | <code retour>1.9</code> | ||
Ligne 278: | Ligne 278: | ||
* On va dans son répertoire configuré pour python 3 dans lequel est installé django | * On va dans son répertoire configuré pour python 3 dans lequel est installé django | ||
<code user>cd ~/ProjetsDjangoPy3/</code> | <code user>cd ~/ProjetsDjangoPy3/</code> | ||
+ | |||
+ | * On active pyenv | ||
+ | |||
+ | <code user>pyenv activate 1.8-3.4</code> | ||
</note> | </note> | ||
Ligne 299: | Ligne 303: | ||
<note tip> | <note tip> | ||
- | Et voilà, partir de là, on retombe sur nos pattes et l'on peut suivre simplement le premier projet de la doc officielle de django alors que notre environnement virtuel est sous python 3 ! \\ | + | * Et voilà, partir de là, on retombe sur nos pattes |
+ | On peut suivre simplement le premier projet de la doc officielle de Django et les commandes qu'elle indique alors que notre environnement virtuel est sous python 3 ! \\ | ||
https://docs.djangoproject.com/fr/1.8/intro/tutorial01/ \\ | https://docs.djangoproject.com/fr/1.8/intro/tutorial01/ \\ | ||
- | Notre avantage, on peut aussi bien lancer à la place des deux commandes suivantes : | + | * Allons-y : |
- | * On fait attention d'être bien dans répertoire ''premierProjet'' et non dans son sous-répertoire de même nom ! | + | En prenant garde d'être bien dans le projet Django (répertoire ''premierProjet'' et non dans son sous-répertoire de même nom !) |
<code user>cd ~/ProjetsDjangoPy3/premierProjet/</code> | <code user>cd ~/ProjetsDjangoPy3/premierProjet/</code> | ||
+ | |||
+ | On peut charger la base de donnée associée au projet Django | ||
<code user>python manage.py migrate</code> | <code user>python manage.py migrate</code> | ||
- | que celles-ci 8-) | + | alors qu'on n'a : |
+ | |||
+ | <code user>python --version</code> | ||
+ | <code retour>Python 3.4.3</code> | ||
+ | |||
+ | Mais on aurait tout aussi bien pu lancer cette commande-ci 8-) | ||
<code user>python3 manage.py migrate</code> | <code user>python3 manage.py migrate</code> | ||
Ligne 321: | Ligne 333: | ||
<note> | <note> | ||
+ | |||
+ | **Sur la commande ''python manage.py migrate'' exécutée plutôt** | ||
+ | |||
* On remarque que la commande ''python manage.py migrate'' a créé le fichier ''db.sqlite3'' | * On remarque que la commande ''python manage.py migrate'' a créé le fichier ''db.sqlite3'' | ||