Créez un environnement pour développer des programmes d'application en Python.
Pour le moment, fixez les objectifs comme suit.
Traditionnellement, pyenv-virtualenv a été utilisé à ces fins.
pyenv-virtualenv est pratique, mais je n'ai pas aimé comment donner des arguments de commande, donc cette fois pythonz, [virtualenv] ](Https://virtualenv.pypa.io/), direnv seront utilisés en combinaison. L'utilisation de direnv a également l'avantage d'être utile pour créer des environnements autres que Python.
Je suppose un environnement Linux, mais je pense que la procédure est presque la même pour les autres OS. J'utilise Debian 7 (Wheezy). Lors de l'utilisation de cette méthode sous Windows, il est recommandé de créer un environnement virtuel avec vagrant. À titre de prémisse, on suppose que les préparatifs suivants sont effectués.
$ sudo apt-get install build-essential zlib1g-dev libbz2-dev libssl-dev libreadline-dev libncurses5-dev libsqlite3-dev libgdbm-dev libdb-dev libexpat-dev libpcap-dev liblzma-dev libpcre3-dev curl python-pip
$ sudo yum install zlib-devel bzip2-devel openssl-devel readline-devel ncurses-devel sqlite-devel gdbm-devel db4-devel expat-devel libpcap-devel xz-devel pcre-devel curl
$ curl -L https://bootstrap.pypa.io/get-pip.py | sudo python
Il existe deux façons d'installer pythonz:
Ici, installez avec les privilèges d'un utilisateur général.
$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash
$ echo '[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc' >> $HOME/.bashrc
$ exec $SHELL
De cette façon, lorsqu'un nouveau Python est installé, il sera installé dans le répertoire personnel de chaque utilisateur.
Il est recommandé d'utiliser pip pour installer virtualenv.
$ sudo pip install virtualenv
Si vous ne pouvez pas utiliser pip ou installer en tant qu'utilisateur général, reportez-vous à la procédure sur le Site officiel et installez à partir du code source. Ce serait mieux de le faire.
Les fichiers d'exécution sont distribués pour chaque type de système d'exploitation et de processeur sur le site github officiel de direnv. Téléchargez le fichier exécutable approprié et copiez-le dans un répertoire de votre PATH.
$ curl -L -o direnv https://github.com/zimbatm/direnv/releases/download/v2.5.0/direnv.linux-amd64
$ sudo install direnv /usr/local/bin
$ echo 'type direnv > /dev/null 2>&1 && eval "$(direnv hook bash)" ' >> $HOME/.bashrc
$ exec $SHELL
Ici, il est installé par un utilisateur avec des privilèges d'administrateur, mais il peut être installé dans le répertoire personnel de l'utilisateur tant qu'il est dans le PATH.
Si vous pouvez utiliser le langage Go, il est facile de l'installer à partir du code source.
Pratiquons la création d'un nouvel environnement de développement, en supposant un "projet SandBox" qui sera développé avec Python 2.7.9.
Vérifiez la version de Python qui peut être installée avec pythonz list -a
, puis spécifiez la version à installer.
Veuillez patienter car l'installation prendra un certain temps.
$ pythonz list -a
# Available Python versions
# cpython:
2.4
2.4.1
2.4.2
2.4.3
...
$ pythonz install 2.7.9
Vous pouvez trouver une liste des Pythons installés dans pythonz list
.
$ pythonz list
# Installed Python versions
CPython-2.7.9
Vous pouvez trouver l'emplacement de l'interpréteur Python installé avec pythonz Locate numéro de version
.
$ pythonz locate 2.7.9
/home/jnotoya/.pythonz/pythons/CPython-2.7.9/bin/python
Si vous voulez exécuter directement le Python installé, vous pouvez utiliser la fonction de substitution de commande du shell et écrire quelque chose comme
$ (pythonz Locate numéro de version)
.$ $(pythonz locate 2.7.9) --version Python 2.7.9 $ $(pythonz locate 2.7.9) -c 'print("Hello, world")' Hello, world
Créez un répertoire pour y développer le projet. Vous pouvez décider librement du nom et de l'emplacement du répertoire du projet. Ici, créez un répertoire de projet avec le nom "sand_box" dans le répertoire personnel de l'utilisateur.
$ pwd
/home/jnotoya
$ mkdir sand_box
Après avoir créé le répertoire du projet, créez le fichier de configuration du répertoire .envrc
.
Le fichier de configuration peut être créé et édité avec la commande direnv edit
, mais ici, il est facilement créé à partir de la ligne de commande.
$ echo 'layout python $(pythonz locate 2.7.9)' > sand_box/.envrc
$ direnv allow sand_box
Après layout python
, utilisez la fonction pythonz pour spécifier l'emplacement de l'interpréteur Python, tel que $ (pythonz Locate numéro de version)
. Puisque .envrc
est passé au shell, vous pouvez utiliser la fonction de substitution de commande du shell $ (...)
.
Consultez la page de manuel direnv etc. pour savoir comment écrire le fichier de configuration.
La première fois que vous visitez le répertoire de projet que vous avez créé, virtualenv s'exécute automatiquement pour initialiser votre environnement de développement. Le processus d'initialisation copie l'interpréteur Python installé avec pythonz dans le répertoire du projet.
$ cd sand_box
direnv: loading .envrc
Running virtualenv with interpreter /home/jnotoya/.pythonz/pythons/CPython-2.7.9/bin/python
New python executable in /home/jnotoya/sand_box/.direnv/python-2.7.9/bin/python
Installing setuptools, pip...direnv: ([direnv export bash]) is taking a while to execute. Use CTRL-C to give up.
done.
direnv: export +VIRTUAL_ENV ~PATH
L'exécution de la commande python
dans le répertoire du projet exécutera l'interpréteur Python approprié qui a été copié pendant le processus d'initialisation au lieu du Python d'origine sur le système.
$ pwd
/home/jnotoya/sand_box
$ type python
python is /home/jnotoya/sand_box/.direnv/python-2.7.9/bin/python
$ python -c 'import sys;print(sys.version)'
2.7.9 (default, Jan 31 2015, 08:18:30)
[GCC 4.7.2]
Installez la bibliothèque utilisée par le projet avec la commande pip
.
Si vous exécutez pip dans le répertoire du projet, la bibliothèque sera installée dans le répertoire du projet pour être utilisée uniquement dans cet environnement et n'affectera pas l'ensemble du système, vous pouvez donc facilement installer la bibliothèque.
Ici, essayez d'installer la bibliothèque PrettyTable.
$ pwd
/home/jnotoya/sand_box
$ pip install PrettyTable
$ python -c 'import prettytable as pt; help(pt.PrettyTable)'
Vous pouvez interrompre votre travail de développement en quittant le répertoire du projet. En dehors du répertoire du projet, vous pouvez toujours utiliser l'interpréteur Python fourni sur votre système.
$ pwd
/home/jnotoya/sand_box
$ cd ..
direnv: unloading
$ type python
python is /usr/bin/python
$ python --version
Python 2.7.3
C'est très facile car vous pouvez généralement effectuer des travaux de développement sans être conscient des changements d'environnement. Il n'est pas nécessaire de changer d'environnement avec le workon et de désactiver des commandes comme virtualenvwrapper.
Si cela ne fonctionne pas, assurez-vous que quelque part dans .bashrc
il y a une description comme celle-ci qui lit les paramètres de pythonz et direnv.
.bashrc
[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc
type direnv > /dev/null 2>&1 && eval "$(direnv hook bash)"
Si vous renommez le répertoire du projet après l'initialisation, vous devrez faire quelques ajustements. S'il vous plaît soyez prudente.