J'ai installé python3.8:
Sudo apt install python3.8
Je veux 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 .7
pip3 -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
Ainsi, par exemple:
pip3 install pyinotify
Requirement already satisfied: pyinotify in ./.local/lib/python3.7/site-packages (0.9.6)
La tentative d'importation de pyinotify dans un script python3.8 génère une erreur ModuleNotFound
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 Python, vient de publier un article de blog sur ce sujet: https://snarky.ca/why-you-should-use-python -m-pip /
Cela dit, vous voulez généralement installer les packages Python dans un environnement virtuel, pas dans le système Python.
https://realpython.com/python-virtual-environments-a-primer/
Avez-vous essayé d'utiliser Miniconda ou Anaconda ?
En un mot, c'est un bon moyen de tester différentes versions python et vous n'aurez pas à vous soucier de gâcher votre système python (projets/installateurs qui utilisez le mot clé python
).
source ~/miniconda3/bin/activate
intel
et conda-forge
Pour y trouver des packages: conda config --add channels intel && conda config --add channels conda-forge
conda create -n py38 python=3.8 pip
pip-19.3.1-py38_0
conda activate py38
python
dans cet environnement, il utilise l'interpréteur que vous avez configuré. De plus, pip install
Et conda install
Seront dirigés vers votre environnement py38
Jusqu'à ce que vous conda deactivate
Ou basculiez.Voici la sortie lorsque j'ai exécuté conda create -n py38 python=3.8 pip
.
Collecte des métadonnées du package (current_repodata.json): terminé Environnement de résolution: terminé
Forfait
environnement:/home/mikkeyboi/miniconda3/envs/py38
spécifications ajoutées/mises à jour: - pip - python = 3,8
Les packages 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 packages suivants seront installés:
_libgcc_mutex pkgs/main/linux-64 :: _ libgcc_mutex-0.1-main
ca-certificats
conda-forge/linux-64 :: certificats-ca-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
roue conda-forge/linux-64 :: tk-8.6.9-hed695b0_1003
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_1006Continuer ([o]/n)? y
Téléchargement et extraction de packages python-3.8.0 | 39,0 Mo |
############################### | 100% setuptools-41.6.0 | 628 KB | ##################################### | 100% pip-19.3.1| 1,9 Mo | ##################################### | 100% roue-0,33,6 | 35 KB |
############################### | 100% certifi-2019.9.11 | 147 KB | ##################################### | 100% Préparationtransaction: done Vérification de la transaction: done Exécution de la transaction: done
J'ai également fait pip install pyinotify
Pour répondre à votre demande d'importation, python -c "import pyinotify; print(pyinotify.__version__)"
m'a donné 0.9.6
.
Je viens de résoudre ce problème par moi-même parce que je ne pouvais pas trouver un moyen simple de résoudre ce problème.
En raison de Python3.7 installé en premier, et Python3.8 ne remplacera pas l'ancien pip lorsque vous l'installez.
Essayez de rechercher l'emplacement de pip3
$ which pip3
Dans mon cas (macOS), il se trouve dans/usr/local/bin/pip3
$ cd /usr/local/bin
Si vous avez installé python3.8 pip correctement, vous êtes censé voir pip3.8
Si vous le faites, essayez de le supprimer.
$ Sudo rm pip
Et copiez pip3.8 avec un nouveau nom, pip3
$ Sudo cp pip3.8 pip3
C'est ça!!!
Je ne suis pas sûr que ce soit une solution parfaite, mais cela fonctionne pour moi.