web-dev-qa-db-fra.com

pip pour python 3,8

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

5
Stephen Boston

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/

4
jugmac00

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).

  1. Après l'installation, ouvrez le terminal et initialisez conda (si vous ne l'avez pas ajouté à PATH) source ~/miniconda3/bin/activate
  2. Ajoutez les canaux intel et conda-forge Pour y trouver des packages: conda config --add channels intel && conda config --add channels conda-forge
  3. Créez un nouvel environnement appelé py38 avec python 3.8 et pip conda create -n py38 python=3.8 pip
  4. Conda résoudra l'environnement et s'assurera que les packages sont compatibles. Pour résoudre votre problème initial, vous pouvez vérifier la version pip (quand je l'ai fait, c'était pip-19.3.1-py38_0
  5. Activez votre environnement conda activate py38
  6. Désormais, lorsque vous tapez 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_1006

Continuer ([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éparation

transaction: 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.

0
mikkeyboi

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.

0
Coco Golden