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 07:14] Hypathie [Avant de commencer] |
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [08/12/2015 10:15] Hypathie [Développer en Python avec Django] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Développer en Python avec Django====== | + | ====== Développer en Python3 avec Django====== |
* Objet : Installer un environnement virtuel avec python3 pour utiliser Django \\ essayer un mini projet avec chacune des différentes bases de données supportées par ORM de Django. | * Objet : Installer un environnement virtuel avec python3 pour utiliser Django \\ essayer un mini projet avec chacune des différentes bases de données supportées par ORM de Django. | ||
Ligne 13: | Ligne 13: | ||
* Fichiers d'en-tête de Python | * Fichiers d'en-tête de Python | ||
- | <code=root>apt-get install python-dev python3-dev</code> | + | <code root>apt-get install python-dev python3-dev</code> |
* Pour l'algèbre avec scipy | * Pour l'algèbre avec scipy | ||
- | <code=root>apt-get install libblas3 libblas-dev liblapack3 liblapack-dev</code> | + | <code root>apt-get install libblas3 libblas-dev liblapack3 liblapack-dev</code> |
* Bibliothèques FreeType nécessaire par matplotlib | * Bibliothèques FreeType nécessaire par matplotlib | ||
Ligne 25: | Ligne 25: | ||
* Dépendances nécessaire pour la cryptographie | * Dépendances nécessaire pour la cryptographie | ||
- | <code=root>apt-get install libffi-dev libssl-dev</code> | + | <code root>apt-get install libffi-dev libssl-dev</code> |
* Les paquets Core Python | * Les paquets Core Python | ||
- | <code=root>apt-get install python-pip python3-pip</code> | + | <code root>apt-get install python-pip python3-pip</code> |
- | <code=root>apt-get install python-virtualenv python3-virtualenv</code> | + | <code root>apt-get install python-virtualenv</code> |
+ | |||
+ | <note> | ||
+ | À savoir sur Jessie, il est inutile de lancer : | ||
+ | |||
+ | ''apt-get install python3-virtualenv'' \\ | ||
+ | |||
+ | En effet, avec la commande ''apt-get install python-virtualenv'' a installé ''python3-virtualenv'' et ''python-virtualenv'' | ||
+ | </note> | ||
<note> | <note> | ||
Ligne 43: | Ligne 51: | ||
</note> | </note> | ||
+ | * Installer la documentation python | ||
+ | |||
+ | <code root>apt-get install python-doc python3-doc</code> | ||
+ | |||
+ | * Sans rapport avec le développement mais utilisé plus bas | ||
+ | <code root>apt-get install tree</code> | ||
====Préparer son système pour travailler avec python2 et python3==== | ====Préparer son système pour travailler avec python2 et python3==== | ||
Ligne 78: | Ligne 92: | ||
- | - Pour basculer de l'une à l'autre version de Python : | + | - On va laisser tout le système configurer avec python3 dans un premier temps : |
<code root>update-alternatives --config python</code> | <code root>update-alternatives --config python</code> | ||
Ligne 86: | Ligne 100: | ||
Sélection Chemin Priorité État | Sélection Chemin Priorité État | ||
------------------------------------------------------------ | ------------------------------------------------------------ | ||
- | 0 /usr/bin/python3.4 2 mode automatique | + | * 0 /usr/bin/python3.4 2 mode automatique |
- | * 1 /usr/bin/python2.7 1 mode manuel | + | 1 /usr/bin/python2.7 1 mode manuel |
2 /usr/bin/python3.4 2 mode manuel | 2 /usr/bin/python3.4 2 mode manuel | ||
+ | |||
+ | Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le num | ||
</code> | </code> | ||
+ | |||
+ | On choisit la sélection correspondante à python2.7 pour tout le système. Ici c'est le choix n°1. | ||
<code root>python --version</code> | <code root>python --version</code> | ||
Ligne 95: | Ligne 113: | ||
<note tip> | <note tip> | ||
- | L'idée suivie ici est de conserver python2 pour tout le système, et de mettre en place python3 dans un environnement virtuel. \\ | + | L'idée suivie ici sera de conserver python2 pour tout le système, et de mettre en place python3 dans un environnement virtuel. \\ |
+ | |||
+ | Pour installer Django avec python3 y compris dans un environnement virtuel (dossier créé avec ''virtualenv'' dans le répertoire courant de l'utilisateur) , il faut d'abord que python3 soit en place afin de s'éviter quelque conflits lors de la création de son environnement virtuel python3 avec la commande ''virtualenv''. \\ | ||
- | Pour installer Django avec python3 y compris dans un environnement virtuel (dossier créé avec ''virtualenv'' dans le répertoire courant de l'utilisateur) , il faut dire au système d'utiliser python3 pour l'environnement de l'utilisateur qui va utiliser Django avec Python3. | ||
</note> | </note> | ||
Ligne 103: | Ligne 122: | ||
<note warning> | <note warning> | ||
- | * À savoir pour supprimer l'un des choix de la liste : ''update-alternatives --remove python /usr/bin/python2.7'' | + | * À savoir pour supprimer l'un des choix de la liste : |
+ | |||
+ | <code root>update-alternatives --remove python /usr/bin/python2.7</code> | ||
* Ne jamais désinstaller les versions inférieures à python 3 ! \\ De nombreux logiciels ne fonctionneraient plus. | * Ne jamais désinstaller les versions inférieures à python 3 ! \\ De nombreux logiciels ne fonctionneraient plus. | ||
Ligne 129: | Ligne 151: | ||
<code retour>Python 3.4.2</code> | <code retour>Python 3.4.2</code> | ||
- | |||
- | |||
===== Configurations et installation de Django avec SQLite3===== | ===== Configurations et installation de Django avec SQLite3===== | ||
- | |||
==== Installer Django dans un environnement python virtuel ==== | ==== Installer Django dans un environnement python virtuel ==== | ||
Ligne 140: | Ligne 159: | ||
=== On créer un répertoire par exemple sur son bureau :=== | === On créer un répertoire par exemple sur son bureau :=== | ||
- | <code user>cd ~/Bureau</code> | + | <code user>virtualenv MonPy3Django -p /usr/bin/python3.4</code> |
- | <code user>virtualenv PremiersProjetsDjango</code> | + | Cela a crée une dossier nommé "PremiersProjetsDjango" dans le répertoire de l'utilisateur courant |
- | + | ||
- | Cela a crée une dossier nommé "PremiersProjetsDjango" sur le bureau de l'utilisateur courant | + | |
===on se place dans le dossier "PremiersProjetsDjango"=== | ===on se place dans le dossier "PremiersProjetsDjango"=== | ||
- | <code user>cd PremiersProjetsDjango/</code> | + | <code user>cd ~/MonPy3Django/ && ls</code> |
- | + | ||
- | <code user>ls</code> | + | |
Il contient trois dossiers permettant d'utiliser python : | Il contient trois dossiers permettant d'utiliser python : | ||
- | <code retour>python python3 python3.4 </code> | + | <code retour>bin include lib</code> |
+ | Les outils sont dans bin/ | ||
+ | |||
+ | <code user>tree bin/</code> | ||
+ | <code retour> | ||
+ | bin/ | ||
+ | ├── activate | ||
+ | ├── activate.csh | ||
+ | ├── activate.fish | ||
+ | ├── activate_this.py | ||
+ | ├── easy_install | ||
+ | ├── easy_install-3.4 | ||
+ | ├── pip | ||
+ | ├── pip3 | ||
+ | ├── pip3.4 | ||
+ | ├── python -> python3.4 | ||
+ | ├── python3 -> python3.4 | ||
+ | └── python3.4 | ||
+ | </code> | ||
+ | |||
+ | On voit que tout l'environnement pointe vers python3.4 | ||
=== On active l'environnement virtuel python=== | === On active l'environnement virtuel python=== | ||
+ | <code user>source bin/activate 1.8-3.4</code> | ||
+ | |||
+ | <note warning> | ||
+ | Ne pas lancer ''source bin/activate'' sinon on aura une erreur de compilation avec la commande d'installation de django sans que cette erreur l'empêche de installer ! | ||
<code user>source bin/activate</code> | <code user>source bin/activate</code> | ||
+ | <code user>pip install django</code> | ||
+ | <code retour>Downloading/unpacking django | ||
+ | Downloading Django-1.9-py2.py3-none-any.whl (6.6MB): 6.6MB downloaded | ||
+ | Installing collected packages: django | ||
+ | *** Error compiling '/tmp/pip-build-c20d1nfa/django/django/conf/app_template/apps.py'... | ||
+ | File "/tmp/pip-build-c20d1nfa/django/django/conf/app_template/apps.py", line 4 | ||
+ | class {{ camel_case_app_name }}Config(AppConfig): | ||
+ | ^ | ||
+ | SyntaxError: invalid syntax | ||
+ | |||
+ | *** Error compiling '/tmp/pip-build-c20d1nfa/django/django/conf/app_template/models.py'... | ||
+ | File "/tmp/pip-build-c20d1nfa/django/django/conf/app_template/models.py", line 1 | ||
+ | {{ unicode_literals }}from django.db import models | ||
+ | ^ | ||
+ | SyntaxError: invalid syntax | ||
+ | |||
+ | Successfully installed django | ||
+ | Cleaning up... | ||
+ | </code> | ||
+ | |||
+ | </note> | ||
<note tip> | <note tip> |