logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [04/12/2015 11:35]
Hypathie [Développer en Python avec Django et SQLite3]
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [08/12/2015 06:47]
Hypathie [Avant de commencer]
Ligne 1: Ligne 1:
-====== Développer en Python avec Django ​et SQLite3======+====== Développer en Python avec Django======
  
-  * Objet : Installer un environnement virtuel avec python3, et SQLite3 ​pour utiliser 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.
   * Niveau requis : {{tag>​débutant}}   * Niveau requis : {{tag>​débutant}}
-  * Commentaires : Debian 8  
  
  
-===== Configurations et installation ​de Django =====+=====Avant de commencer ​====
  
-==== Choisir sa version de Python sur sa Debian8 ====+Sur Jessie python et python 3 sont tous deux installés.
  
 +==== Installer les outils et bibliothèques pour développer en python ou python 3 ====
  
-  ​* Pour tout le système avec update-alternatives :+   * 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>​ 
 + 
 + 
 + 
 +====Préparer son système ​pour travailler ​avec python2 et python3==== 
 + 
 +  * Utiliser ​update-alternatives ​pour choisir l'une ou l'​autre des versions:
  
 <code root>​update-alternatives --list python</​code>​ <code root>​update-alternatives --list python</​code>​
Ligne 45: Ligne 81:
  
 <code root>​update-alternatives --config python</​code>​ <code root>​update-alternatives --config python</​code>​
- 
-<note important>​ 
-Si l'on choisit d'​utiliser Python3 pour tous le système, il faudra prendre garde de bien installer les outils python3 et non python2 :\ 
- 
-Il faudra lancer : 
-<code root>​python3-pip python3-dev</​code>​ 
- 
-et non : 
- 
-<code root>​python-pip python-dev</​code>​ 
-</​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 80: Ligne 96:
 <code retour>​Python 2.7.9</​code>​ <code retour>​Python 2.7.9</​code>​
  
-  * On configure ​Python3 pour l'​utilisateur courant :+  * À savoir pour supprimer l'un des choix de la liste : ''​update-alternatives --remove python /​usr/​bin/​python2.7''​ 
 + 
 +<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 l'une des versions de python tout le système 
 +et d'​utiliser l'​autre pour l'​environnement de l'​utilisateur courant.__** 
 + 
 + 
 +**Par exemple pour configurer ​Python3 pour l'​utilisateur courant :**
  
 - __On édite le fichier "​~/​bashrc"​ :__ - __On édite le fichier "​~/​bashrc"​ :__
Ligne 100: Ligne 129:
 <code retour>​Python 3.4.2</​code>​ <code retour>​Python 3.4.2</​code>​
  
 +</​note>​
  
-  * **Pourquoi conserver deux versions de python ? :**+<note tip>
  
-- __On choisit d'​activer Python3 que pour l'​utilisateur courant et Python2 ​pour tout le système ​:__+**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.
  
-Ce choix est bon dans le cas où l'on veut s'​exercer au code Python qui diffère entre les deux versions. +Dans ce cason travaille dans un environnement virtuel ​avec l'outil ''​virtualenv'',​ la suite du tuto suit ce choix.**
-On peut par exemple, se créer ​un utilisateur qui utilisera Python2 +
- +
-- __On veut apprendre à coder en python directement ​avec le framework Django :__ +
- +
-Il faut alors choisir une **unique** version de Python pour tout le système, car comme dit plus haut,\ +
-les utiles python servant à utiliser Django s'​installe en tant que root pour tous le système. +
-Et l'installation pour tout le système des outils python et python3 génère des conflits. +
- +
-Ou toujours travailler dans un **environnement python virtuel** en utilisant " virtualenv"​ (voir plus bas).+
  
 </​note>​ </​note>​
  
- 
-  * Pour la suite de ce tuto : python3 pour tout le système : 
- 
-<code root>​update-alternatives --config python</​code>​ 
-<code retour> 
-Il existe 2 choix pour l'​alternative python (qui fournit /​usr/​bin/​python). 
- 
-  Sélection ​  ​Chemin ​             Priorité ​ État 
------------------------------------------------------------- 
-  0            /​usr/​bin/​python3.4 ​  ​2 ​        mode automatique 
-* 1            /​usr/​bin/​python2.7 ​  ​1 ​        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é :​0 
-</​code>​ 
- 
-<code root>​python --version</​code>​ 
-<code retour>​Python 3.4.2</​code>​ 
- 
-  * Pour supprimer l'un des choix de la liste : 
- 
-<code root>​update-alternatives --remove python /​usr/​bin/​python2.7</​code>​ 
- 
- 
-====Installer les outils python nécessaires à l'​installation d'un projet Django :==== 
- 
-<code root>​apt-get install python3-pip python3-dev virtualenv</​code>​ 
- 
-  - python3-pip est un 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 : 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/​ 
  
  
 +===== Configurations et installation de Django avec SQLite3=====
  
  
Ligne 227: Ligne 216:
  
  
-===== Création d'un premier projet Django=====+==== Création d'un premier projet Django====
  
 <​note>​ <​note>​
Ligne 323: Ligne 312:
 <​note>​ <​note>​
 Rien de grave dans ce retour. Rien de grave dans ce retour.
-Django prévient qu'​aucune base de données n'a été migré.+Django prévient qu'​aucune base de données n'a été migrée.
 Ce n'est pas important pour ce premier test. Ce n'est pas important pour ce premier test.
 </​note>​ </​note>​
Ligne 592: Ligne 581:
 <code root>​ifconfig</​code>​ <code root>​ifconfig</​code>​
  
-  * remarque ​+  * remarques ​
  
   - On peut aussi taper dans son navigateur :\\ localhost:​8000 ou 0.0.0.0:​8000 si l'on a lancé :\\ python3 manage.py runserver 0.0.0.0:​8000   - On peut aussi taper dans son navigateur :\\ localhost:​8000 ou 0.0.0.0:​8000 si l'on a lancé :\\ python3 manage.py runserver 0.0.0.0:​8000
Ligne 606: Ligne 595:
 {{http://​pix.toile-libre.org/​upload/​original/​1449161189.png}} {{http://​pix.toile-libre.org/​upload/​original/​1449161189.png}}
  
 +  * Pour apprendre à gérer son site depuis le site d'​administration de Django : https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial02/​
 +
 +  * Le création des Vues : https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial03/#​writing-your-first-django-app-part-3
 +
 +  * Factoriser son code Python : https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial04/#​writing-your-first-django-app-part-4
 +
 +  * Tests automatisés :  https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial05/​
 +
 +  * Utiliser du Javascript, du CSS avec Django : https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial06/#​writing-your-first-django-app-part-6
 +
 +
 +====Configurer Vim pour Python ====
 +
 +  * On installe curl
 +
 +<code root>​apt-get install curl</​code>​
 +
 +  * On installe git :
 +
 +<code root>​apt-get install git-core</​code>​
 +
 +  * On installe pathogen
 +
 +Voir : https://​github.com/​search?​utf8=%E2%9C%93&​q=pathogen
 +
 +<code user>
 +mkdir -p ~/​.vim/​autoload ~/​.vim/​bundle && \
 +curl -LSso ~/​.vim/​autoload/​pathogen.vim https://​tpo.pe/​pathogen.vim
 +</​code>​
 +
 +  * On crée et édite un fichier caché ~/.vimrc :
 +
 +<code user>vim ~/​.vimrc</​code>​
 +
 +<​file>​
 +execute pathogen#​infect()
 +syntax on
 +filetype plugin indent on
 +</​file>​
 +
 +pathogen va chercher dans le répertoire bundle les plugin qu'on lui a installé et les utiliser comme si on les avait installé dans le fichier .vimrc
 +
 +  * On installe le module nerdtree :
 +
 +Voir : https://​github.com/​scrooloose/​nerdtree
 +
 +<code user>git clone https://​github.com/​scrooloose/​nerdtree.git ~/​.vim/​bundle/​nerdtree</​code>​
 +
 +<note tip>
 +**
 +Principales commandes de NERD Tree :**
 +
 +
 +    t: Ouvrir le fichier sélectionné dans un nouvel onglet
 +    i: Ouvrez le fichier sélectionné dans une fenêtre fissure verticale
 +    s: Open the selected file in a vertical split window
 +    I: Commutation de fichiers cachés
 +    m: Pour faire apparaître un menu qui vous permettra d'​ajouter rapidement, déplacer(=renomer),​ copier et supprimer des nœuds (ou fichiers).
 +    R: Actualiser l'​arbre,​ utile si les fichiers ont changés en dehors de Vim
 +    ?: Commutation entre l'aide rapide et l'​explorateur NERD Tree 
 +    Ctrl +w puis w: Passer de l'​explorateur NERD Tree à la fenêtre d'​édition des fichiers
 +
 +</​note>​
 +
 +  * On installe vim-airLine améliorer le statusline.
 +
 +<code user>git clone https://​github.com/​bling/​vim-airline.git ~/​.vim/​bundle/​vim-airline</​code>​
 +
 +On ajoute la ligne suivante dans ''​~./​vimrc''​ :
 +
 +<​code>​let g:​airline#​extensions#​tabline#​enabled = 1</​code>​
 +
 +<note tip>
 +  * Après avoir ouvert plusieurs fichiers, pour passer d'un fichier à l'​autre,​ le curseur entant placé dans l'​encadré d'​édition d'un fichier:
 +
 +  - On peut utiliser la commande vim '':​register''​ puis on choisit son buffer ;
 +  - On peut faire '':​bn''​ (pour Buffer Next) ou '':​bp''​ (pour Buffer Prevous) ;
 +
 +  * On peut se faire un racourcit :
 +
 +  - On édite ''​~/​.vimrc'' ​
 +  - on ajoute :
 +
 +<​code>​
 +nmap <C-n> :​bn<​CR>​
 +nmap <C-p> :​bp<​CR>​
 +</​code>​
 +
 +  * Pour utiliser la souris
 +
 +<​code>​
 +set mouse=a
 +</​code>​
 +</​note>​
 +
 +
 +  * Utilisation de la souris pour naviger entre les fenêtres, et sélectionner dans une seule fenêtre (i.e mode visuel de vim)
 +
 +On édite ''​~/​.vimrc''​
 +
 +On ajoute :
 +<​file>​
 +set mouse=a
 +</​file>​
 +
 +  * On ajoute le plugin syntastic
 +
 +Voir : https://​github.com/​scrooloose/​syntastic
 +
 +<code user>git clone https://​github.com/​scrooloose/​syntastic.git ~/​.vim/​bundle/​syntastic</​code>​
 +
 +  * On ajoute le plugin tagbar
 +
 +<code user>git clone https://​github.com/​majutsushi/​tagbar.git ~/​.vim/​bundle/​tagbar</​code>​
 +
 +<note tip>
 +Ajout dans ''​ ~/.vimrc ''​
 +<​code>​
 +"​Racourci clavier pour basculer avec Tagbar
 +nmap <F2> :​TagbarToggle<​CR>​
 +</​code>​
 +</​note>​
 +
 +
 +  * Ajout de l'​autocomplétion :
 +<note tip>
 +Ajout dans ''​ ~/.vimrc ''​
 +<​code>​
 +"Pour utiliser un plugin d'​autocomplétion
 +set omnifunc=syntaxComplet#​Complete
 +</​code>​
 +</​note>​
 +===== Configurations et installation de Django avec PostgreSQL=====
utilisateurs/hypathie/tutos/developpement-pyhon-utiliser-django.txt · Dernière modification: 06/01/2016 10:18 par Hypathie

Pied de page des forums

Propulsé par FluxBB