Réponses:
pip est exécuté à partir de la ligne de commande, pas de l'interpréteur Python. Il s'agit d'un programme qui installe des modules, vous pouvez donc les utiliser à partir de Python. Une fois que vous avez installé le module, vous pouvez ouvrir le shell Python et faire import selenium
.
Le shell Python n'est pas une ligne de commande, c'est un interpréteur interactif. Vous tapez du code Python dedans, pas des commandes.
pip
sera dans le répertoire des scripts de votre installation python, vous voudrez donc l'ajouter à votre chemin. Ajoutez C:\Python32\scripts
à votre PATH
. Modifiez le chemin si nécessaire en fonction de l'emplacement d'installation.
Utilisez la ligne de commande, pas le shell Python (DOS, PowerShell sous Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Si vous avez installé Python dans votre PATH à l'aide des derniers programmes d'installation, vous n'avez pas besoin d'être dans ce dossier pour exécuter pip
Terminal sous Mac ou Linux
$ pip install XYZ
PATH
. J'ai dû le faire manuellement, en pointant vers le chemin d'installation dans%APPDATA%
Comme @sinoroc l'a suggéré, la manière correcte d'installer un package via pip utilise un processus distinct car pip peut provoquer la fermeture d'un thread ou peut nécessiter un redémarrage de l'interpréteur pour charger le nouveau package installé, c'est donc la bonne façon d'utiliser l'API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])
mais puisque Python permet pour accéder à l'API interne et vous savez ce que vous utilisez l'API car vous voudrez peut-être utiliser l'API interne de toute façon, par exemple. si vous créez votre propre gestionnaire de packages GUI avec des ressources alternatives comme https://www.lfd.uci.edu/~gohlke/pythonlibs/
La soulution suivante est HORS DATE, au lieu de voter en aval, suggérez des mises à jour. voir https://github.com/pypa/pip/issues/7498 pour référence.
get_installed_distributions()
ou main
méthode sous import pip
utiliser à la place import pip._internal as pip
.
MISE À JOUR ca. v.18 get_installed_distributions()
a été supprimé. Au lieu de cela, vous pouvez utiliser un générateur freeze
comme celui-ci:
from pip._internal.operations.freeze import freeze
print([package for package in freeze()])
# eg output ['pip==19.0.3']
import pip
package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade'])
# --upgrade to install or update existing packages
Si vous devez mettre à jour chaque package installé, utilisez ce qui suit:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
Si vous souhaitez arrêter l'installation d'autres packages en cas d'échec de l'installation, utilisez-le en un seul pip.main([])
appel:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Remarque : Lorsque vous installez à partir de la liste dans le fichier avec -r
/ --requirement
paramètre, vous n'avez PAS besoin de la fonction open ().
pip.main(['install', '-r', 'filename'])
Avertissement : Certains paramètres aussi simples --help
peuvent entraîner l'arrêt de l'interpréteur python.
Curiosité: En utilisant, pip.exe
vous utilisez de toute façon l'interpréteur python et le module pip. Si vous décompressez pip.exe
ou pip3.exe
que ce soit python 2.x ou 3.x, à l'intérieur se trouve le même fichier __main__.py
:
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
Pour exécuter pip dans Python 3.x, suivez simplement les instructions sur la page de Python: Installation des modules Python .
python -m pip install SomePackage
Notez que cela est exécuté à partir de la ligne de commande et non du shell python (la raison de l'erreur de syntaxe dans la question d'origine).
Au début, moi aussi, j'ai rencontré ce même problème, j'ai installé python et lorsque j'exécute la pip
commande, il me lançait une erreur comme indiqué sur la photo ci-dessous.
Assurez-vous que le chemin du pip est ajouté dans les variables d'environnement. Pour moi, le chemin d'installation de python et pip est ::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
Ces deux chemins ont été ajoutés au chemin dans les variables d'environnement.
Maintenant, ouvrez une nouvelle fenêtre cmd et tapez pip, vous devriez voir un écran comme ci-dessous.
Tapez maintenant pip install <<package-name>>
. Ici, j'installe le package spyder, donc ma déclaration de ligne de commande sera la même pip install spyder
et voici mon écran en cours d'exécution.
et j'espère que nous en avons fini avec ça !!
vous devez le saisir en cmd et non dans IDLE. becuse IDLE n'est pas une invite de commande si vous souhaitez installer quelque chose à partir d'IDLE, tapez ceci
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
cela appelle pip comme pip <commands>
dans le terminal. Les commandes seront séparées par des espaces que vous y faites.
ImportError: cannot import name main
en utilisant pip v19.0.3
Par programme, ce qui suit fonctionne actuellement . Je vois toutes les réponses après 10.0 et toutes, mais aucune n'est la bonne pour moi. Au sein de Kaggle à coup sûr, cette approche fonctionne
from pip._internal import main as _main
package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])
Essayez de mettre à niveau pip avec la commande ci-dessous et réessayez
python -m pip install -U pip