Est-ce cela que les gens semblent recommander le plus souvent:
$ Sudo apt-get install python-setuptools
$ Sudo easy_install pip
$ Sudo pip install virtualenv
Ou ceci, que j'ai obtenu de http://www.pip-installer.org/en/latest/installing.html :
$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
Ou quelque chose de complètement différent?
Si vous pouvez installer le dernier Python (2.7.9 et versions ultérieures), Pip est désormais fourni avec. Voir: https://docs.python.org/2.7//installing /index.html
Si non :
Mise à jour (à partir des notes de publication):
À partir de la version 1.5.1, pip n’a pas besoin de setuptools avant d’exécuter get -pip.py. De plus, si setuptools (ou distribuer) n'est pas déjà installé, get-pip.py installera setuptools pour vous.
Je lance maintenant le régulier:
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | Sudo python
Voici les instructions d'installation officielles: http://pip.readthedocs.org/en/latest/installing.html#install-pip
EDIT 25-Jul-2013:
Modification de l'URL pour l'installation de setuptools.
EDIT 10-Feb-2014:
Installation de setuptools supprimée (merci @Ciantic)
EDIT 26-Jun-2014:
URL mise à jour à nouveau (merci @LarsH)
EDIT 1-Mar-2015:
Pip est maintenant livré avec Python
http://www.pip-installer.org/en/latest/installing.html est vraiment la réponse canonique à cette question.
Plus précisément, les instructions à l’échelle du système sont les suivantes:
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py
La section citée dans la question concerne les instructions virtualenv
plutôt que les instructions système. Le easy_install
_ les instructions existent depuis plus longtemps, mais il n’est plus nécessaire de le faire ainsi.
Cette réponse provient de @webology sur Twitter:
$ Sudo apt-get install python-setuptools
$ Sudo easy_install pip
$ Sudo pip install --upgrade pip virtualenv virtualenvwrapper
Mes notes ajoutées:
Sur Ubuntu 12.04, j’ai eu de la chance en utilisant simplement le gestionnaire de paquets:
Sudo apt-get install python-pip virtualenvwrapper
Faire ceci:
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install virtualenv
Voir
Il n’existe pas vraiment de "réponse" à cette question, mais il existe certainement des concepts utiles qui peuvent vous aider à prendre une décision.
La première question à laquelle il faut répondre dans votre cas d'utilisation est la suivante: "Est-ce que je veux utiliser le système Python?" Si vous voulez utiliser le Python distribué avec votre système d'exploitation, alors utiliser la méthode d'installation apt-get peut être très bien. Cependant, en fonction de la méthode de distribution du système d'exploitation, vous devez toujours demander plus de questions, telles que "Est-ce que je veux installer plusieurs versions de ce paquet?" Si la réponse est oui, alors ce n’est probablement pas une bonne idée d’utiliser quelque chose comme Apt. Dpkg ne fera quasiment pas décompresser une archive à la racine de le système de fichiers, il appartient donc au mainteneur du paquet de s’assurer que le paquet s’installe en toute sécurité, en supposant très peu d’hypothèses. un package de niveau supérieur.
Par exemple, supposons que le paquet soit "virtualenv", vous vous retrouveriez avec /usr/lib/python2.x/site-packages/virtualenv
. Si vous l'installez avec easy_install
vous obtiendrez quelque chose comme /usr/lib/python2.x/site-packages/virtualenv.Egg-link
qui pourrait pointer vers /usr/lib/python2.x/site-packages/virtualenv-1.2-2.x.Egg
qui peut être un répertoire ou un oeuf compressé. Pip fait quelque chose de similaire bien qu'il n'utilise pas d'oeufs et place le paquet de niveau supérieur directement dans le répertoire lib
.
Je suis peut-être sur les chemins, mais le fait est que chaque méthode prend en compte des besoins différents. C’est pourquoi des outils comme virtualenv sont utiles car ils vous permettent de mettre en sandbox vos bibliothèques Python) de sorte que vous puissiez avoir toute combinaison de bibliothèques et de versions dont vous avez besoin.
Setuptools permet également l’installation de paquets multiversion, ce qui signifie qu’il n’ya pas un seul module_name.Egg-link
établi. Pour importer ces paquets, vous devez utiliser pkg_resources et le __import__
une fonction.
Pour revenir à votre question initiale, si vous êtes satisfait du système python et prévoyez d'utiliser virtualenv et pip pour créer des environnements pour différentes applications, puis installez virtualenv et/ou pip au niveau du système à l'aide de apt-get semble tout à fait approprié. Cependant, si vous envisagez de mettre à jour vos distributions Python, cela peut avoir un effet d'entraînement sur vos virtualenvs si vous vous connectez à vos paquets de site système.
Je devrais également mentionner qu'aucune de ces options n'est intrinsèquement meilleure que les autres. Ils prennent simplement des approches différentes. L’utilisation de la version système est un excellent moyen d’installer les applications Python, mais il peut s’avérer très difficile de développer avec Python. Il est très pratique d’installer facile et setuptools dans un monde sans virtualenv, mais si vous devez utiliser différentes versions de la même bibliothèque, elle devient alors assez lourde à la fois. Pip et virtualenv agissent vraiment plus comme une machine virtuelle. Au lieu de prendre soin d'installer tout cela côte à côte, vous créez simplement un tout nouvel environnement. Voici que plus de 30 serveurs virtuels plus tard, vous avez peut-être utilisé assez d’espace disque et surchargé votre système de fichiers.
Comme vous pouvez le constater, avec les nombreuses options, il est difficile de dire quelle méthode utiliser, mais avec un peu d’investigation dans vos cas d’utilisation, vous devriez être capable de trouver une méthode qui fonctionne.
Il n'y a pas de méthode préférée - tout dépend de vos besoins. Vous devez souvent avoir différents interprètes Python sur le système, quelle qu'en soit la raison. Dans ce cas, vous devez installer les éléments individuellement pour chaque interprète. De plus, je préfère installer ces éléments moi-même plutôt que de dépendre de produits pré-emballés posant parfois des problèmes - mais ce n'est qu'une option possible.
A partir des packages de distribution, vous pouvez soit utiliser:
Sudo apt-get install python-virtualenv
qui vous permet de créer virtualenvs, ou
Sudo apt-get install python{,3}-pip
qui vous permet d'installer des paquets arbitraires dans votre répertoire personnel.
Si vous êtes habitué à virtualenv, la première commande vous donne tout ce dont vous avez besoin (rappelez-vous que pip est fourni et sera installé dans tout virtualenv que vous créez).
Si vous souhaitez simplement installer des packages, la deuxième commande vous donne ce dont vous avez besoin. Utilisez un pip comme ceci:
pip install --user something
et mettre quelque chose comme
PATH=~/.local/bin:$PATH
dans votre ~/.bashrc
.
Si votre distribution est ancienne et que vous ne voulez absolument pas utiliser ses paquets (à l'exception de Python lui-même, probablement)), vous pouvez télécharger virtualenv, sous forme de script tar ou autonome:
wget -O ~/bin/virtualenv https://raw.github.com/pypa/virtualenv/master/virtualenv.py
chmod +x ~/bin/virtualenv
Si votre distribution est plutôt du type Edge saignant, Python3.3 a des capacités intégrées similaires à celles de virtualenv:
python3 -m venv ./venv
Cela va beaucoup plus vite, mais setuptools et pip ne sont pas inclus.
@ericholscher dit sur Twitter: "Celui qui est dans la documentation officielle .."
C'est un bon point, vous devriez faire ce que disent les docs.
Cité à partir des instructions officielles d'installation de pip à l'adresse http://www.pip-installer.org/en/latest/installing.html :
$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
Etant donné que virtualenvs contient pip par défaut, je n'installe presque jamais pip globalement. Ce que je fais finit par ressembler davantage à:
$ Sudo apt-get install python-setuptools
$ curl -O http://python-distribute.org/distribute_setup.py
$ Sudo python distribute_setup.py
$ Sudo easy_install virtualenv
Je procède ensuite à l’installation et à la configuration de virtualenvwrapper à ma guise et je pars. il pourrait également être intéressant de jeter un coup d'œil au virtualenv-burrito de Jeremy Avnet:
Pour installer pip sur un mac (osx), le liner suivant a très bien fonctionné pour moi:
Sudo easy_install pip
En Raspbian, il n'y a même pas besoin de mentionner python2.7
. En effet, c’est la meilleure façon d’installer pip si python dans moins de 2.7.9.
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | Sudo python
Merci à @ tal-weiss
J'utilise get-pip et virtualenv-burrito pour installer tout cela. Pas sûr que python-setuptools soit requis.
# might be optional. I install as part of my standard ubuntu setup script
Sudo apt-get -y install python-setuptools
# install pip (using get-pip.py from pip contrib)
curl -O https://raw.github.com/pypa/pip/develop/contrib/get-pip.py && Sudo python get-pip.py
# one-line virtualenv and virtualenvwrapper using virtualenv-burrito
curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash
https://github.com/pypa/pip/raw/master/contrib/get-pip.py est probablement le bon moyen maintenant.
Sur Debian, la meilleure façon de le faire serait
Sudo apt-get install python-pip
L'ancienne méthode est bien. Le seul problème que je peux voir est que vous pourriez vous retrouver avec une ancienne version de setuptools (si le référentiel apt n'a pas été mis à jour ..