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 [09/12/2015 22:24] Hypathie [Installations] |
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [14/12/2015 07:39] Hypathie [Créer des projets Django en python2 ou python3] |
||
---|---|---|---|
Ligne 66: | Ligne 66: | ||
<code root>apt-get install tree</code> | <code root>apt-get install tree</code> | ||
- | * Pour utiliser vim avec python3 | + | ===Vim IDE coder pour python3 === |
- | <code root>apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \ | + | * https://debian-facile.org/utilisateurs:hypathie:tutos:vim-ide-python?&#installer-vim-ide-pour-python |
- | libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ | + | * https://code.djangoproject.com/wiki/UsingVimWithDjango |
- | libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \ | + | * https://github.com/yodiaditya/vim-pydjango |
- | ruby-dev mercurial</code> | + | |
- | + | ||
- | ===Vim IDE pour python3 === | + | |
- | + | ||
- | * On supprime les versions vim existantes sur le système | + | |
- | + | ||
- | En effet, | + | |
- | + | ||
- | <code user> | + | |
- | vim --version | + | |
- | </code> | + | |
- | + | ||
- | <code retour>VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 31 2015 23:36:07) | + | |
- | Rustines incluses : 1-488, 576 | + | |
- | Modifié par pkg-vim-maintainers@lists.alioth.debian.org | + | |
- | Compilé par jamessan@debian.org | + | |
- | Énorme version avec interface graphique GTK2. | + | |
- | Fonctionnalités incluses (+) ou non (-) : | + | |
- | +acl +farsi +mouse_netterm +syntax | + | |
- | +arabic +file_in_path +mouse_sgr +tag_binary | + | |
- | +autocmd +find_in_path -mouse_sysmouse +tag_old_static | + | |
- | +balloon_eval +float +mouse_urxvt -tag_any_white | + | |
- | +browse +folding +mouse_xterm +tcl | + | |
- | ++builtin_terms -footer +multi_byte +terminfo | + | |
- | +byte_offset +fork() +multi_lang +termresponse | + | |
- | +cindent +gettext -mzscheme +textobjects | + | |
- | +clientserver -hangul_input +netbeans_intg +title | + | |
- | +clipboard +iconv +path_extra +toolbar | + | |
- | +cmdline_compl +insert_expand +perl +user_commands | + | |
- | +cmdline_hist +jumplist +persistent_undo +vertsplit | + | |
- | +cmdline_info +keymap +postscript +virtualedit | + | |
- | +comments +langmap +printer +visual | + | |
- | +conceal +libcall +profile +visualextra | + | |
- | +cryptv +linebreak +python +viminfo | + | |
- | +cscope +lispindent -python3 +vreplace | + | |
- | </code> | + | |
- | + | ||
- | En effet, ''+python | + | |
- | -python3'' | + | |
- | + | ||
- | <code root>apt-get remove vim vim-runtime gvim vim-tiny vim-common vim-gui-common</code> | + | |
- | + | ||
- | * On récupère vim à la source et on le compile avec l'option python3 | + | |
- | + | ||
- | <code root>cd ~</code> | + | |
- | <code root>hg clone https://code.google.com/p/vim/</code> | + | |
- | <code root>cd vim</code> | + | |
- | <code root>./configure --with-features=huge \ | + | |
- | --enable-multibyte \ | + | |
- | --enable-rubyinterp \ | + | |
- | --enable-python3interp vi_cv_path_python3=/usr/bin/python3.4 \ | + | |
- | --with-python-config-dir=/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu \ | + | |
- | --enable-perlinterp \ | + | |
- | --enable-luainterp \ | + | |
- | --enable-gui=gtk2 --enable-cscope --prefix=/usr</code> | + | |
- | <code root>make VIMRUNTIMEDIR=/usr/share/vim/vim74</code> | + | |
- | <code root>apt-get install checkinstall</code> | + | |
- | <code root>checkinstall</code> | + | |
- | + | ||
- | <code retour>********************************************************************** | + | |
- | + | ||
- | Done. The new package has been installed and saved to | + | |
- | + | ||
- | /root/vim/vim_20151209-1_amd64.deb | + | |
- | + | ||
- | You can remove it from your system anytime using: | + | |
- | + | ||
- | dpkg -r vim | + | |
- | + | ||
- | **********************************************************************</code> | + | |
- | + | ||
- | <note> | + | |
- | **Et maintenant ''vim --version'' retourne ''-python +python3 ''** 8-) | + | |
- | </note> | + | |
- | + | ||
- | * On fait de vim son éditeur par défaut | + | |
- | + | ||
- | <code root>update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1</code> | + | |
- | <code root>update-alternatives --set editor /usr/bin/vim</code> | + | |
- | <code root>update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1</code> | + | |
- | <code root>update-alternatives --set vi /usr/bin/vim</code> | + | |
- | + | ||
- | * On fait de vim un véritable petit IDE pour coder en python | + | |
- | + | ||
- | On télécharge ce script | + | |
- | <code text configVim.sh> | + | |
- | #!/bin/sh | + | |
- | + | ||
- | mkdir -p ~/.vim/autoload/ ~/.vim/bundle/ ~/.vim/colors/ ~/.vim/ftplugin/ | + | |
- | printf "les dossiers ~/.vim/autoload/ ~/.vim/bundle/ ~/.vim/colors/ ~/.vim/ftplugin/ ont bien été créés\n" | + | |
- | ls -la ~/.vim/ | + | |
- | cd ~/.vim/autoload | + | |
- | wget https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim | + | |
- | cd ~/.vim/bundle | + | |
- | git clone https://github.com/tpope/vim-sensible.git && git clone https://github.com/kien/ctrlp.vim.git && git clone https://github.com/scrooloose/nerdtree && git clone https://github.com/klen/python-mode.git && git clone https://github.com/Lokaltog/vim-powerline.git && git clone https://github.com/jistr/vim-nerdtree-tabs.git | + | |
- | cd ~/.vim/colors | + | |
- | wget https://raw.githubusercontent.com/thesheff17/youtube/master/vim/wombat256mod.vim | + | |
- | cd ~/.vim/ftplugin | + | |
- | wget https://raw.githubusercontent.com/thesheff17/youtube/master/vim/python_editing.vim | + | |
- | cd ~ | + | |
- | wget https://raw.githubusercontent.com/thesheff17/youtube/master/vim/vimrc | + | |
- | ls -la ~/vimrc | + | |
- | printf "Le fichier ~/vimrc a bien été reçu.\n" | + | |
- | mv vimrc ~/.vimrc | + | |
- | printf "Le fichier ~/vimrc est dans ~/.vimrc\n" | + | |
- | printf "Et voilà !\n" | + | |
- | </code> | + | |
- | <code user>mv ~/Téléchargement/configVim.sh ~/</code> | + | |
- | <code user></code> | + | |
- | <code user></code> | + | |
- | <code user></code> | + | |
- | <code user></code> | + | |
- | <code root></code> | + | |
===== Créer des projets Django en python2 ou python3===== | ===== Créer des projets Django en python2 ou python3===== | ||
Ligne 199: | 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 250: | 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 311: | 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 323: | 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 350: | 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 375: | 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 396: | 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 417: | 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 439: | 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'' | ||