J'ai mis à niveau vers Ubuntu 20.04 à partir de 19.10 et maintenant je ne peux plus utiliser pip.
The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt-get install python3-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment. Failing command: ['/home/zeno/Desktop/tetris/.tetris/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Python est installé:
zeno:~/Desktop/tetris$ python3 -m venv .tetris
mais si j'essaye d'insatll pip, j'obtiens ceci:
(.tetris) zeno:~/Desktop/tetris$ pip3 Traceback (most recent call last): File "/home/zeno/Desktop/tetris/.tetris/bin/pip3", line 6, in <module> from pip._internal import main ModuleNotFoundError: No module named 'pip'
Je suis perdu. Merci pour toute aide
Mise à jour
J'utilise venv pour créer des environnements virtuels. Quand aucun venv n'est activé, je peux utiliser pip3:
zeno:~/Desktop/tetris$ pip3 -V pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
mais si j'active un venv, ça ne marche pas:
zeno:~/Desktop/tetris$ sudo apt install python3-pip Reading package lists... Done Building dependency tree Reading state information... Done python3-pip is already the newest version (20.0.2-5ubuntu1). The following packages were automatically installed and are no longer required: dh-python elpa-async enchant gedit-plugin-zeitgeist gir1.2-mutter-5 gnome-software-common libappstream-glib8 libapt-pkg5.90 libboost-date-time1.67.0 libboost-iostreams1.67.0 libbrlapi0.6 libcodec2-0.8.1 libcroco3 libdns-export1104 libdns1104 libdvdread4 libegl1-mesa libenchant1c2a libept1.5.90 libevent-2.1-6 libexiv2-14 libfprint0 libgeoip1 libgit2-27 libglvnd-core-dev libgnome-desktop-3-18 libgspell-1-1 libgutenprint-common libgutenprint9 libgweather-3-15 libicu63 libiptc0 libisc-export1100 libisc1100 libisc1105 libisl21 liblivemedia64 liblouis17 liblwres161 libmicrodns0 libmozjs-60-0 libmutter-5-0 libmysofa0 libnettle6 liboauth0 libperl5.28 libplymouth4 libpoppler90 libpython3.7-minimal libqpdf21 libsnmp30 libusbmuxd4 libx11-xcb-dev libx265-176 libxcb-dri2-0-dev libxcb-dri3-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxshmfence-dev libzeitgeist-2.0-0 perl-modules-5.28 printer-driver-gutenprint python-gobject-2 python3-asn1crypto python3-pypdf2 python3.7-minimal ubuntu-system-service x11proto-composite-dev x11proto-fixes-dev Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Merci pour vos suggestions et votre aide continue.
Mise à jour
J'ai essayé de supprimer le venv et d'en créer un nouveau, mais il semble que j'ai besoin de pip pour le faire:
zeno:~$ python3 --version Python 3.8.2
donne:
zeno:~$ pip --version Command 'pip' not found, but there are 18 similar ones.
4 Réponses :
Parfois, après la mise à niveau du système d'exploitation, vous devez réinstaller les packages. Essayer:
sudo apt install --reinstall python3-pip
Merci de répondre. Cela n'a pas fonctionné, mais j'ai mis à jour ma question.
J'ai dû purger python3-venv et le réinstaller:
zeno:~$ sudo apt install python3-venv
puis
zeno:~$ sudo apt purge python3-venv
Merci a tous
La solution qui a le mieux fonctionné pour moi a été donnée par dobairoland sur le github esp-idf (numéro 4474 ), comme indiqué dans la documentation Espressif :
wget https://bootstrap.pypa.io/get-pip.py sudo python2.7 get-pip.py
Alternative (1): Au début, j'ai pu contourner ce problème avec un alias pour un script d'installation bash tiers codé en dur avec pip
(aucune des installations / réinstallations mentionnées précédemment ne fonctionnait pour moi) - donc cela pourrait être une option aussi:
if [ "$(cat /etc/os-release | grep VERSION_ID)" == 'VERSION_ID="20.04"' ]; then alias pip="pip3" else echo "no pip alias" fi
ceci (option certes moins que gracieuse) pourrait être utile dans les scripts:
sudo apt-get install python3-pip alias pip="pip3"
Alternative (2) Il y a aussi ce hack qui a fonctionné techniquement pour moi, mais ce n'est probablement pas une bonne idée de forcer un logiciel obsolète sur un système:
sudo apt-get install python3 python3-pip python3-setuptools sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
Le moyen le plus simple que j'ai trouvé était simplement de supprimer le dossier de l'environnement virtuel, de le recréer et de réinstaller les dépendances avec pip qui était à nouveau disponible :)
S'appelle-t-il pip3?
Essayez
sudo apt install python-is-python3
. Cela devrait faire pointerpython
etpip
verspython3
etpip3
respectivementMerci pour vos suggestions, j'ai mis à jour ma question.
Supprimez l'ancien env et créez-en un nouveau, cela pourrait faire le travail
Merci, j'ai essayé ceci, ma question est mise à jour.