J'essaie d'utiliser pip pour installer un paquet. J'essaie d'exécuter pip install
à partir du shell Python, mais j'ai une SyntaxError
Pourquoi ai-je cette erreur? Comment utiliser pip pour installer le package?
>>> pip install Selenium
^
SyntaxError: invalid syntax
pip est exécuté à partir de la ligne de commande, pas de l'interpréteur Python. C'est un programme que installe modules, vous pouvez donc les utiliser depuis Python. Une fois le module installé, 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, pas des commandes.
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 de vous trouver dans ce dossier pour exécuter pip
Terminal sous Mac ou Linux
$ pip install XYZ
UPDATE: Depuis la version 10.x de pip, il n'y a plus de méthode get_installed_distributions()
ou main
sous import pip
au lieu d'utiliserimport pip._internal as pip
.
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 paquet 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 d'une installation, utilisez-le dans un seul appel pip.main([])
:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Note: Lorsque vous installez à partir d'une liste dans un fichier avec le paramètre -r
--requirement
, vous n'avez PAS besoin de la fonction open ().
pip.main(['install', '-r', 'filename'])
_/Avertissement: Certains paramètres, tels que --help
, peuvent provoquer l'arrêt de l'interpréteur python.
Curiosité: En utilisant pip.exe
, vous utilisez quand même un interpréteur python et un module pip. Si vous décompressez pip.exe
ou pip3.exe
, qu'il s'agisse de python 2.x ou 3.x, le fichier unique SAME __main__.py
se trouve à l'intérieur:
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __== '__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 de la page Python: Installation de modules Python .
python -m pip install SomePackage
Notez qu'il est exécuté à partir de la ligne de commande et non du shell Python (raison de l'erreur de syntaxe dans la question d'origine).
Essayez de mettre à niveau pip avec la commande ci-dessous et réessayez.
python -m pip install -U pip
vous devez taper dans cmd pas dans IDLE. becuse IDLE n’est pas une commande si vous voulez installer quelque chose de type IDLE
>>>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.
Par programme, ce qui suit actuellement fonctionne. Je vois toutes les réponses post 10.0 et toutes, mais aucune d’entre elles n’est le bon chemin pour moi. Dans 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'])