Chaque fois que je crée un venv, je reçois un message me demandant de mettre à niveau pip. J'exécute la commande pour la mise à niveau, et elle réapparaît sur un autre venv. Comment puis-je rendre cela permanent.
Message:
You are using pip version 9.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Mise à jour: Je viens de recevoir la recommandation de lire cette réponse possible en double: virtualenv utilise le pip mis à jour du système par défaut
Cela ne résout pas mon problème cependant. Pourquoi?
Mon pip3
semble déjà être à jour:
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 --version
pip 18.0 from c:\users\mkupfer\appdata\local\programs\python\python36-32\lib\sit
e-packages\pip (python 3.6)
C:\Users\mkupfer\Python-Sandbox\sibc-python-scripts>pip3 install --upgrade pip
Requirement already up-to-date: pip in c:\users\mkupfer\appdata\local\programs\p
ython\python36-32\lib\site-packages (18.0)
Solution: J'ai pu résoudre ce problème en utilisant virtualenv
pour créer un nouvel environnement virtuel. Je ne sais pas s'il s'agit d'un bogue dans venv
. Je vais juste utiliser le paquet qui fonctionne à l'avenir. Merci @James Lim pour la réponse.
Le problème semble être que les new environnements virtuels utilisent une ancienne version de pip. Notez que pip est installé à partir d’un fichier tarfile (ou roue) source inclus avec virtualenv, dans le répertoire site-packages/virtualenv_support
.
$ ls -l /path/to/site-packages/virtualenv_support
pip-9.1-py2.py3-none-any.whl
Un moyen rapide de résoudre le problème consiste à mettre à niveau pip chaque fois que vous créez un nouveau virtualenv, comme suit:
$ virtualenv venv
$ venv/bin/pip install -U pip
Sinon, assurez-vous d'avoir la dernière version de virtualenv. Selon leurs notes de publication , virtualenv==16
utilise pip==10
.
$ pip install -U virtualenv
Enfin, puisque virtualenv recherche pip*.whl
dans virtualenv_support
, cela fonctionnera également:
$ mv /path/to/site-packages/virtualenv_support/pip*.whl{,bak}
$ pip wheel -w /path/to/site-packages/virtualenv_support/ 'pip==18'
Tous les nouveaux virtualenvs utiliseront la version de pip que vous avez installée dans virtualenv_support
. Cependant, cela semble hacky.
(Tentative avec virtualenv==16
. Cela entraîne tous les nouveaux virtualenvs avec pip == 18.)
Pour moi, vous avez plusieurs environnements python et, dans l’un d’eux, il n’ya pas de pip mis à niveau. Vous avez 2 options:
Mettre à jour le pip à partir d'un fichier bat:
call .\venv\Scripts\activate
py -m pip install --upgrade pip
call deactivate
Ou si vous êtes dans le terminal intégré VS Code
& venv/Scripts/activate.ps1
py -m pip install --upgrade pip
lors de la mise à niveau, pip désinstallait l'ancienne version, mais si l'ancienne version se trouvait à un endroit différent, elle ne pouvait pas basculer et aboutissait donc à deux versions différentes Vérifiez vos installations sur votre racine PYTHONPATH. De plus, PYTHONPATH peut ne pas être identique au chemin du système.