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 [07/12/2015 17:11] Hypathie [Configurations et installation de Django avec SQLite3] |
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [08/12/2015 08:04] Hypathie [Configurations et installation de Django avec SQLite3] |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
Sur Jessie python et python 3 sont tous deux installés. | Sur Jessie python et python 3 sont tous deux installés. | ||
- | ==== Choisir sa version de Python ==== | + | ==== Installer les outils et bibliothèques pour développer en python ou python 3 ==== |
+ | |||
+ | * Fichiers d'en-tête de Python | ||
+ | |||
+ | <code root>apt-get install python-dev python3-dev</code> | ||
+ | |||
+ | * Pour l'algèbre avec scipy | ||
+ | |||
+ | <code root>apt-get install libblas3 libblas-dev liblapack3 liblapack-dev</code> | ||
+ | |||
+ | * Bibliothèques FreeType nécessaire par matplotlib | ||
+ | |||
+ | <code=root>apt-get install libfreetype6 libfreetype6-dev</code> | ||
+ | |||
+ | * Dépendances nécessaire pour la cryptographie | ||
- | * Pour tout le système avec update-alternatives : | + | <code root>apt-get install libffi-dev libssl-dev</code> |
- | <code root>update-alternatives --list python</code> | + | * Les paquets Core Python |
- | <code retour>update-alternatives: error: no alternatives for python</code> | + | |
+ | <code root>apt-get install python-pip python3-pip</code> | ||
+ | |||
+ | |||
+ | <code root>apt-get install python-virtualenv python3-virtualenv</code> | ||
+ | |||
+ | <note> | ||
+ | |||
+ | - ''python3-pip'' (ou ''python-pip'') : installateur de paquets python, Pip permet d'installer aisément des modules Python, à la manière dont on installe des paquets dans une distribution linux; | ||
+ | - ''python3-dev'' (ou ''python-dev'' ): permet d'utiliser des outils de développement pour la construction des modules Python, non pris en charge par pip, en particulier pour utiliser des bibliothèques avec des extensions en C | ||
+ | - ''virtualenv'' : permet de créer un environnement cloisonné Python | ||
+ | |||
+ | * À consulter : https://virtualenv.readthedocs.org/en/latest/ \\ https://github.com/neurite/debian-setup/wiki/Basic-Development-Setup-on-Debian | ||
+ | </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==== | ||
+ | |||
+ | ===Utiliser update-alternatives pour choisir l'une ou l'autre des versions:=== | ||
* Charger les différentes versions de Python : | * Charger les différentes versions de Python : | ||
- | - __Pour voir où sont les versions de python disponibles :__ | + | <code root>update-alternatives --list python</code> |
+ | <code retour>update-alternatives: error: no alternatives for python</code> | ||
+ | |||
+ | * Pour voir où sont les exécutables des deux versions disponibles de python : | ||
<code user> ls /usr/bin/python*</code> | <code user> ls /usr/bin/python*</code> | ||
Ligne 29: | Ligne 71: | ||
</code> | </code> | ||
- | - __Pour ajouter à la liste de update-alternatives les deux versions de python disponibles :__\\ | + | * Pour ajouter à la liste de update-alternatives les deux versions de python disponibles : |
(ici par exemple; "/usr/bin/python2.7" et "/usr/bin/python3.4 ") | (ici par exemple; "/usr/bin/python2.7" et "/usr/bin/python3.4 ") | ||
Ligne 35: | Ligne 77: | ||
<code root>update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2</code> | <code root>update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2</code> | ||
- | - __Pour voir la nouvelle liste de update-alternatives :__ | + | - Pour voir la nouvelle liste de update-alternatives : |
<code root>update-alternatives --list python</code> | <code root>update-alternatives --list python</code> | ||
Ligne 42: | Ligne 84: | ||
- | - __Pour basculer de l'une à l'autre version de Python :__ | + | - Pour basculer de l'une à l'autre version de Python : |
<code root>update-alternatives --config python</code> | <code root>update-alternatives --config python</code> | ||
- | |||
- | <note warning> | ||
- | Ne jamais désinstaller les versions inférieures à python 3 ! \\ | ||
- | De nombreux logiciels ne fonctionneraient plus. | ||
- | |||
- | ''<del>apt-get purge python</del>'' | ||
- | </note> | ||
- | |||
- | <note tip>**Il est possible de laisser la version Python 2 pour tout le système | ||
- | et d'utiliser la version 3 pour l'environnement de l'utilisateur courant.** | ||
- | |||
- | * Pour ce faire on choisit la version de Python2 pour tout le système : | ||
- | |||
- | <code root>update-alternatives --config python</code> | ||
- | |||
<code retour> | <code retour> | ||
Il existe 2 choix pour l'alternative python (qui fournit /usr/bin/python). | Il existe 2 choix pour l'alternative python (qui fournit /usr/bin/python). | ||
Ligne 65: | Ligne 92: | ||
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éro sélectionné :1 | ||
</code> | </code> | ||
Ligne 75: | Ligne 100: | ||
<code retour>Python 2.7.9</code> | <code retour>Python 2.7.9</code> | ||
- | * Pour supprimer l'un des choix de la liste : | + | <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. \\ | ||
+ | |||
+ | 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 warning> | ||
+ | * À savoir pour supprimer l'un des choix de la liste : ''update-alternatives --remove python /usr/bin/python2.7'' | ||
+ | * Ne jamais désinstaller les versions inférieures à python 3 ! \\ De nombreux logiciels ne fonctionneraient plus. | ||
+ | |||
+ | ''<del>apt-get purge python</del>'' | ||
+ | </note> | ||
- | <code root>update-alternatives --remove python /usr/bin/python2.7</code> | ||
- | * On configure Python3 pour l'utilisateur courant : | + | ===Configurer son système avec Python3 pour l'utilisateur courant :=== |
- | - __On édite le fichier "~/bashrc" :__ | + | * On édite le fichier "~/bashrc" : |
<code user>vim ~/.bashrc</code> | <code user>vim ~/.bashrc</code> | ||
- | - __On ajoute cet alias :__ | + | * On ajoute cet alias : |
<code> | <code> | ||
Ligne 91: | Ligne 128: | ||
</code> | </code> | ||
- | - __On enregistre puis on actualise l'environnement de l'utilisateur courant :__ | + | * On enregistre puis on actualise l'environnement de l'utilisateur courant : |
<code user>. ~/.bashrc</code> | <code user>. ~/.bashrc</code> | ||
Ligne 98: | Ligne 135: | ||
<code retour>Python 3.4.2</code> | <code retour>Python 3.4.2</code> | ||
- | |||
- | </note> | ||
- | |||
- | <note important> | ||
- | |||
- | **Une bonne solution pour débuter est de ne pas choisir une des versions de python pour tout le système ou l'environnement de l'utilisateur courant. | ||
- | Dans ce cas, on travaille dans un environnement virtuel avec l'outil ''virtualenv'', la suite du tuto suit ce choix.** | ||
- | |||
- | </note> | ||
- | |||
- | |||
- | ==== Installer les outils et bibliothèques pour développer en python ou python 3 ==== | ||
- | |||
- | * Fichiers d'en-tête de Python | ||
- | |||
- | <code=root>apt-get install python-dev python3-dev</code> | ||
- | |||
- | * Pour l'algèbre avec scipy | ||
- | |||
- | <code=root>apt-get install libblas3 libblas-dev liblapack3 liblapack-dev</code> | ||
- | |||
- | * Bibliothèques FreeType nécessaire par matplotlib | ||
- | |||
- | <code=root>apt-get install libfreetype6 libfreetype6-dev</code> | ||
- | |||
- | * Dépendances nécessaire pour la cryptographie | ||
- | |||
- | <code=root>apt-get install libffi-dev libssl-dev</code> | ||
- | |||
- | * Les paquets Core Python | ||
- | |||
- | <code=root>apt-get install python-pip python3-pip</code> | ||
- | |||
- | |||
- | <code=root>apt-get install python-virtualenv python3-virtualenv</code> | ||
- | |||
- | <note> | ||
- | |||
- | - ''python3-pip'' (ou ''python-pip'') : installateur de paquets python, Pip permet d'installer aisément des modules Python, à la manière dont on installe des paquets dans une distribution linux; | ||
- | - ''python3-dev'' (ou ''python-dev'' ): permet d'utiliser des outils de développement pour la construction des modules Python, non pris en charge par pip, en particulier pour utiliser des bibliothèques avec des extensions en C | ||
- | - ''virtualenv'' : permet de créer un environnement cloisonné Python | ||
- | |||
- | * À consulter : https://virtualenv.readthedocs.org/en/latest/ \\ https://github.com/neurite/debian-setup/wiki/Basic-Development-Setup-on-Debian | ||
- | </note> | ||
===== 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 151: | Ligne 143: | ||
=== 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=== |