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
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.
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
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
.
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())
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).
Versuchen Sie, den Befehl pip mit dem Befehl unten auszuführen, und versuchen Sie es erneut
python -m pip install -U pip
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.
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'])