wake-up-neo.com

Warum erzeugt "pip install" in Python einen SyntaxError?

Ich versuche, pip zum Installieren eines Pakets zu verwenden. Ich versuche, pip install von der Python-Shell aus auszuführen, bekomme aber eine SyntaxError Warum erhalte ich diesen Fehler? Wie verwende ich pip, um das Paket zu installieren?

>>> pip install Selenium
              ^
SyntaxError: invalid syntax
176
Nacht

pip wird von der Befehlszeile aus ausgeführt, nicht vom Python-Interpreter. Es ist ein Programm, das installiert modules, also können Sie sie von Python aus verwenden. Nachdem Sie das Modul installiert haben, können Sie die Python-Shell öffnen und import Selenium ausführen.

Die Python-Shell ist keine Befehlszeile, sondern ein interaktiver Interpreter. Sie geben Python-Code ein, keine Befehle.

242
Lennart Regebro

Verwenden Sie die Befehlszeile, nicht die Python-Shell (DOS, PowerShell in Windows).

C:\Program Files\Python2.7\Scripts> pip install XYZ

Wenn Sie Python mit den neuesten Installationsprogrammen in PATH installiert haben, müssen Sie sich nicht in diesem Ordner befinden, um pip ausführen zu können 

Terminal in Mac oder Linux

$ pip install XYZ
85
ruxming

UPDATE: Seit der Pip-Version 10.x gibt es keine weitere get_installed_distributions()- oder main-Methode unter import pip stattdessen import pip._internal as pip.


Wenn Sie pip im Python-Interpreter verwenden möchten, versuchen Sie Folgendes:

import pip

package_names=['Selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade']) 
# --upgrade to install or update existing packages

Wenn Sie jedes installierte Paket aktualisieren müssen, verwenden Sie Folgendes:

import pip

for i in pip.get_installed_distributions():
    pip.main(['install', i.key, '--upgrade'])

Wenn die Installation anderer Pakete abgebrochen werden soll, falls eine Installation fehlschlägt, verwenden Sie sie in einem einzigen Aufruf von pip.main([]):

import pip

package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])

Hinweis : Wenn Sie von der Liste in der Datei mit dem Parameter -r/--requirement installieren, benötigen Sie keine open () - Funktion.

pip.main(['install', '-r', 'filename'])

Warnung : Einige Parameter wie --help können dazu führen, dass der Python-Interpreter gestoppt wird.

Neugier: Mit pip.exe verwenden Sie ohnehin Python-Interpreter und Pip-Modul. Wenn Sie pip.exe oder pip3.exe unabhängig von Python 2.x oder 3.x entpacken, befindet sich innen dieselbe SAME-Datei __main__.py:

# -*- 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())
50
Zydnar

Um pip in Python 3.x auszuführen, folgen Sie einfach den Anweisungen auf der Python-Seite: Python Module installieren .

python -m pip install SomePackage

Beachten Sie, dass dies über die Befehlszeile und nicht über die Python-Shell ausgeführt wird (der Grund für den Syntaxfehler in der ursprünglichen Frage).

45
Dan

Versuchen Sie, den Befehl pip mit dem Befehl unten auszuführen, und versuchen Sie es erneut

python -m pip install -U pip
0
Karthik

sie müssen es in cmd eingeben, nicht im IDLE. Weil IDLE keine Eingabeaufforderung ist, wenn Sie etwas von IDLE installieren möchten, geben Sie dies ein

>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])

dies ruft pip wie pip <commands> im terminal auf. Die Befehle werden durch Leerzeichen getrennt, mit denen Sie dort arbeiten.

0
Matthijs990

Programmatisch funktioniert das folgende derzeit. Ich sehe alle Antworten nach 10.0 und alle, aber keine davon ist der richtige Weg für mich. In Kaggle funktioniert dieser Ansatz mit Sicherheit

from pip._internal import main as _main

package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade']) 
0
demongolem