Pourquoi "pip install" dans Python soulève-t-il une SyntaxError?

J'essaie d'utiliser pip pour installer un paquet. J'essaie d'exécuter pip install à partir du shell Python, mais j'obtiens un SyntaxError. Pourquoi j'ai cette erreur? Comment puis-je utiliser pip pour installer le paquet?

>>> pip install selenium
              ^
SyntaxError: invalid syntax
162
demandé sur smci 2011-12-18 01:23:32

5 réponses

Pip est exécuté à partir de la ligne de commande, pas de L'interpréteur Python. C'est un programme qui installe les 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.

226
répondu Lennart Regebro 2011-12-17 21:51:27

Utilisez la ligne de commande, pas le shell Python (DOS, PowerShell dans 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
79
répondu ruxming 2017-09-24 15:34:49

Mise à jour: depuis la version pip 10.x Il n'y a plus de méthode get_installed_distributions() ou main sous import pip utilisez plutôt import pip._internal as pip. Si vous voulez utiliser pip dans L'interpréteur Python, essayez ceci:

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 voulez arrêter d'installer d'autres paquets si une installation échoue, utilisez-la en 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 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 que {[12] } peuvent provoquer l'arrêt de l'interpréteur python.

Curiosité: en utilisant pip.exe vous utilisez réellement l'interpréteur python et le module pip de toute façon. Si vous décompressez pip.exe ou pip3.exe, c'est Python 2.x ou 3.x, à l'intérieur est le même fichier unique __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())
45
répondu Zydnar 2018-07-19 15:28:48

Pour exécuter pip en Python 3.x, il suffit de suivre les instructions sur la page de Python: Installation des Modules Python .

python -m pip install SomePackage

Notez que ceci est exécuté à partir de la ligne de commande et non du shell python (la raison de l'erreur de syntaxe dans la question originale).

43
répondu Dan 2018-08-02 19:53:46

Essayez de mettre à niveau pip avec la commande ci-dessous et réessayez

python -m pip install -U pip
0
répondu Karthik 2018-08-06 10:35:14