Je suis en mesure de mettre à jour les paquets gérés par pip, mais comment puis-je mettre à jour pip lui-même? Selon pip --version
, le pip 1.1 est actuellement installé dans mon virtualenv et je souhaite effectuer la mise à jour vers la dernière version.
Quelle est la commande pour cela? Dois-je utiliser distribuer ou existe-t-il une commande native pip ou virtualenv? J'ai déjà essayé pip update
et pip update pip
sans succès.
pip
est juste un paquetage PyPI comme un autre; vous pouvez l'utiliser pour se mettre à jour de la même manière que n'importe quel paquet:
pip install --upgrade pip
Sous Windows, la commande recommandée est la suivante:
python -m pip install --upgrade pip
La méthode la plus sûre consiste à exécuter pip via un module python :
python -m pip install -U pip
Sur les fenêtres, il semble y avoir un problème avec les binaires qui essaient de se remplacer, cette méthode contourne cette limitation.
Dans mon cas, ma version de pip était cassée et la mise à jour ne fonctionnerait pas.
Réparer:
(inside virtualenv):easy_install -U pip
J'ai essayé toutes les solutions mentionnées ci-dessus sous Debian Jessie. Ils ne fonctionnent pas car il faut juste la dernière version compilée par le gestionnaire de paquets debian, 1.5.6, ce qui équivaut à la version 6.0.x. Certains packages qui utilisent pip en tant que conditions préalables ne fonctionneront pas, tel que spaCy (qui nécessite l'option --no-cache-dir pour fonctionner correctement).
Le meilleur moyen de résoudre ces problèmes consiste donc à exécuter get-pip.py téléchargé à l'aide de wget, à partir du site Web ou à l'aide de curl, comme suit:
wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
python ./get-pip.py
python3 ./get-pip.py
Cela installera la version actuelle qui, au moment de la rédaction de cette solution, était la version 9.0.1, ce qui est bien au-delà de ce que fournit Debian.
$ pip --version
pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
$ pip3 --version
pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)
Dans mon cas, cela fonctionnait à partir de la ligne de commande du terminal dans Debian Stable.
python3 -m pip install --upgrade pip
Ouvrez l'invite de commande avec les autorisations d'administrateur, puis répétez la commande:
python -m pip install --upgrade pip
Pour que cela fonctionne pour moi, je devais accéder au répertoire Python à l'aide de l'invite de commande Python (sur WIN10 de VS CODE). Dans mon cas, cela se trouvait dans mon répertoire "AppData\Local\Programs\Python\python35-32". A partir de là, j'ai exécuté la commande ...
python -m pip install --upgrade pip
Cela a fonctionné et je suis prêt à partir.
Très simple. Il suffit de télécharger pip depuis https://bootstrap.pypa.io/get-pip.py . Enregistrez le fichier dans une certaine forlder ou dekstop. J'ai enregistré le fichier dans mon lecteur D. Ensuite, à partir de votre invite de commande, accédez au dossier où vous avez téléchargé pip. Puis tapez là
python -get-pip.py
Programme Python sur une seule ligne
La meilleure façon que j’ai trouvée est d’écrire un programme simple ligne qui télécharge et exécute le script officiel de get-pip. Voir ci-dessous pour le code.
La documentation officielle recommande d'utiliser curl pour télécharger le script get-pip, mais comme je travaille sur Windows et que Curl n'est pas installé, je préfère utiliser python lui-même pour télécharger et exécuter le script.
Voici le programme monoligne qui peut être exécuté via la ligne de commande en utilisant Python 3:
python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"
Cette ligne récupère le script officiel "get-pip.py" conformément aux notes d'installation et exécute le script à l'aide de la commande "exec".
Pour Python2, remplacez "urllib.request" par "urllib2":
python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"
Précautions
Il est intéressant de noter qu'exécuter un script python à l'aveuglette est par nature dangereux. Pour cette raison, les instructions officielles recommandent de télécharger le script et de l'inspecter avant de l'exécuter.
Cela dit, beaucoup de personnes n’inspectent pas le code et ne le font que l’exécuter. Ce programme d’une ligne facilite les choses.
J'étais dans une situation similaire et je voulais mettre à jour le paquet urllib3. Ce qui a fonctionné pour moi a été:
pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3
J'avais installé Python dans C:\Python\Python36, alors je suis allé à l'invite de commande Windows et j'ai tapé "cd C:\Python\Python36 pour accéder au bon répertoire. Puis, j'ai entré le" python -m install --upgrade pip "all bien!
J'ai eu un problème similaire sur un Raspberry Pi.
Le problème était que HTTP requiert SSL et que je devais le forcer à utiliser https pour contourner cette exigence.
Sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple
ou
Sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/
pip version 10 a un problème. Cela se traduira par l'erreur:
ubuntu@mymachine-:~/mydir$ Sudo pip install --upgrade pip
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
La solution consiste à être dans le venv que vous souhaitez mettre à niveau et ensuite exécuter
Sudo myvenv/bin/pip install --upgrade pip
plutôt que juste
Sudo pip install --upgrade pip
Si vous utilisez venv, toute mise à jour de pip install entraînera la mise à niveau du pip du système au lieu du pip de venv. Vous devez également mettre à niveau les packages d'amorçage de pip.
python3 -m pip install --upgrade pip setuptools wheel
La mise à niveau de pip à l'aide de 'pip install --upgrade pip} _' ne fonctionne pas toujours à cause du problème de certification redouté: Un problème est survenu lors de la confirmation du certificat SSL: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert version du protocole
J'aime utiliser la commande une ligne pour les envs virtuels:
curl https://bootstrap.pypa.io/get-pip.py | python -
Ou si vous voulez l'installer large vous aurez besoin
curl https://bootstrap.pypa.io/get-pip.py | Sudo python -
vous pouvez donner à curl un indicateur -s si vous souhaitez désactiver la sortie lors de l'exécution d'un script d'automatisation.
Sur mon ordinateur portable avec Windows 7, la bonne façon d’installer la dernière version de pip est la suivante:
python.exe -m pip install --upgrade pip