22 votes

19.10 pip pour Python 3.8

J'ai installé python3.8 sur Python 19.10 :

 sudo apt install python3.8

Je souhaite maintenant installer pip pour Python 3.8

 python3.8 -m pip install pip
 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (18.1)

Mais le pip 3 est 3.7

 pip3 -V
 pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

De sorte que, par exemple :

pip3 install pyinotify
Requirement already satisfied: pyinotify in ./.local/lib/python3.7/site-packages (0.9.6)

La tentative d'importer pyinotify dans un script de python3.8 génère une erreur de type ModuleNotFound erreur

15voto

Jürgen Gmach Points 645

Afin de vous assurer que vous utilisez le bon pip, veuillez l'utiliser comme suit :

python3.8 -m pip install pyinotify

Brett Cannon, l'un des principaux développeurs de Python, a récemment publié un article de blog sur ce sujet : https://snarky.ca/why-you-should-use-Python-m-pip/

Ceci dit, vous souhaitez généralement installer les paquets Python dans un environnement virtuel, et non dans le système Python.

https://realpython.com/Python-virtual-environments-a-primer/

9voto

Graeme Hutchison Points 6643

sudo apt install python3-pip o python3.8-pip .

Laissez le système gérer votre version de Python.


Modifier :

La question originale était d'essayer d'installer pip via python -m pip et après que l'affiche originale ait utilisé apt le gestionnaire de paquets du système, à la place, ils ont pu obtenir pip fonctionne correctement.

Comme indiqué dans les commentaires et dans jugmac00 Il est désormais recommandé d'utiliser la réponse de l'entreprise pip en l'appelant comme un module Python :

python -m pip install pyinotify

Si plusieurs versions de Python sont installées sur le système et que ce n'est pas la version par défaut, vous devrez peut-être préciser la version :

python3.8 -m pip install pyinotify

0voto

mikkeyboi Points 63

Avez-vous essayé d'utiliser Miniconda o Anaconda ?

En bref, c'est un bon moyen de tester différentes versions de Python sans avoir à craindre de perturber votre système Python (les projets/installateurs qui utilisent le mot-clé python ).

  1. Après l'installation, ouvrez le terminal et initialisez conda (si vous ne l'avez pas ajouté au PATH). source ~/miniconda3/bin/activate
  2. Ajouter les canaux intel y conda-forge pour y trouver des colis : conda config --add channels intel && conda config --add channels conda-forge
  3. Créer un nouvel environnement appelé py38 avec Python 3.8 et pip conda create -n py38 python=3.8 pip
  4. Conda va résoudre l'environnement et s'assurer que les paquets sont compatibles. Pour répondre à votre problème initial, vous pouvez vérifier la version de pip (quand je l'ai fait, c'était pip-19.3.1-py38_0
  5. Activez votre environnement conda activate py38
  6. Maintenant, quand vous tapez python dans cet environnement, il utilisera l'interpréteur que vous avez configuré. Aussi, pip install y conda install sera dirigé vers votre py38 environnement jusqu'à ce que vous conda deactivate ou un interrupteur.

Voici le résultat lorsque j'ai lancé conda create -n py38 python=3.8 pip .

Collecte des métadonnées des paquets (current_repodata.json) : terminé Résoudre environnement : terminé

Plan du paquet

l'emplacement de l'environnement : /home/mikkeyboi/miniconda3/envs/py38

ajoutées / mises à jour des spécifications : - pip - Python=3.8

Les paquets suivants seront téléchargés :

package                    |            build
---------------------------|-----------------
certifi-2019.9.11          |           py38_0         147 KB  conda-forge
pip-19.3.1                 |           py38_0         1.9 MB  conda-forge
python-3.8.0               |       h357f687_3        39.0 MB  conda-forge
setuptools-41.6.0          |           py38_1         628 KB  conda-forge
wheel-0.33.6               |           py38_0          35 KB  conda-forge
------------------------------------------------------------
                                       Total:        41.7 MB

Les NOUVEAUX paquets suivants seront INSTALLES :

_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
ca-certificats
conda-forge/linux-64::ca-certificates-2019.9.11-hecc5488_0 certifi
conda-forge/linux-64::certifi-2019.9.11-py38_0 libffi
conda-forge/linux-64::libffi-3.2.1-he1b5a44_1006 libgcc-ng
pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0 libstdcxx-ng
pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0 ncurses
conda-forge/linux-64::ncurses-6.1-hf484d3e_1002 openssl
conda-forge/linux-64::openssl-1.1.1d-h516909a_0 pip
conda-forge/linux-64::pip-19.3.1-py38_0 Python
conda-forge/linux-64::Python-3.8.0-h357f687_3 readline
conda-forge/linux-64::readline-8.0-hf8c457e_0 setuptools
conda-forge/linux-64::setuptools-41.6.0-py38_1 sqlite
conda-forge/linux-64::sqlite-3.30.1-hcee41ef_0 tk
conda-forge/linux-64::tk-8.6.9-hed695b0_1003 wheel
conda-forge/linux-64::wheel-0.33.6-py38_0 xz
conda-forge/linux-64::xz-5.2.4-h14c3975_1001 zlib
conda-forge/linux-64::zlib-1.2.11-h516909a_1006

Procéder ([y]/n) ? y

Téléchargement et extraction des paquets Python-3.8.0 | 39.0 MB |

############################### | 100% setuptools-41.6.0 | 628 KB | ##################################### | 100% pip-19.3.1

| 1.9 MB | ##################################### | 100% wheel-0.33.6 | 35 Ko |

############################### | 100% certifi-2019.9.11 | 147 KB | ##################################### | 100% Préparation

transaction : done Vérification de la transaction : done Exécution de la transaction : terminé

J'ai aussi fait pip install pyinotify pour répondre à votre demande d'importation, python -c "import pyinotify; print(pyinotify.__version__)" m'a donné 0.9.6 .

0voto

Coco Golden Points 1

J'ai résolu ce problème tout seul car je n'ai pas trouvé de moyen simple pour y remédier.

Parce que Python3.7 a été installé en premier, et Python3.8 ne va pas remplacer l'ancien pip lorsque vous l'installez.

Essayez de chercher l'emplacement de pip3

$ which pip3

Dans mon cas (macOS), il est situé dans /usr/local/bin/pip3.

$ cd /usr/local/bin

Si vous avez correctement installé pip3.8 de python, vous êtes censé voir pip3.8

Si c'est le cas, essayez de l'enlever.

$ sudo rm pip

Et copier pip3.8 avec un nouveau nom, pip3

$ sudo cp pip3.8 pip3

C'est ça ! !!

Je ne sais pas si c'est une solution parfaite, mais elle fonctionne pour moi.

0voto

Vaibhav Panmand Points 131

Comme suggéré dans documentation officielle vous pouvez essayer avec get-pip.py.

wget https://bootstrap.pypa.io/get-pip.py
python3.8 get-pip.py

Cela installera pip comme pip3.8

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X