Dlaczego "pip install" wewnątrz Pythona wywołuje błąd składni?
Próbuję użyć pip do zainstalowania pakietu. Próbuję uruchomić pip install
z powłoki Pythona, ale dostaję SyntaxError
. Dlaczego dostaję ten błąd? Jak zainstalować pakiet za pomocą pip?
>>> pip install selenium
^
SyntaxError: invalid syntax
5 answers
Pip jest uruchamiany z linii poleceń, nie z interpretera Pythona. Jest to program, który instaluje moduły , dzięki czemu można ich używać z Pythona. Po zainstalowaniu modułu możesz otworzyć powłokę Pythona i wykonać import selenium
.
Powłoka Pythona nie jest wierszem poleceń, jest interaktywnym interpreterem. Wpisujesz do niego kod Pythona, Nie polecenia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-17 21:51:27
Użyj wiersza poleceń, a nie powłoki Pythona(DOS, PowerShell w Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Jeśli zainstalowałeś Pythona w ścieżce przy użyciu najnowszych instalatorów, nie musisz znajdować się w tym folderze, aby uruchomić pip
Terminal w Mac lub Linux
$ pip install XYZ
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-24 15:34:49
Aktualizacja: od wersji pip 10.x nie ma już metody get_installed_distributions()
lub main
POD import pip
zamiast tego użyj import pip._internal as pip
.
Jeśli chcesz użyć pip wewnątrz interpretera Pythona, spróbuj tego:
import pip
package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + [package_names] + ['--upgrade'])
# --upgrade to install or update existing packages
Jeśli chcesz zaktualizować każdy zainstalowany pakiet, użyj następującego polecenia:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
Jeśli chcesz przestać instalować inne pakiety, jeśli jakakolwiek instalacja się nie powiedzie, użyj go w jednym wywołaniu pip.main([])
:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Uwaga : Po instalacji z listy w pliku z -r
/ --requirement
parametr nie wymaga funkcji open ().
pip.main(['install', '-r', 'filename'])
Warning : niektóre parametry jako proste --help
mogą spowodować zatrzymanie interpretera Pythona.
Ciekawostka: używając pip.exe
rzeczywiście używasz interpretera Pythona i modułu pip. Jeśli rozpakujesz pip.exe
lub pip3.exe
niezależnie od tego, czy jest to python 2.x lub 3.x, Wewnątrz znajduje się ten sam pojedynczy plik __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())
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-19 15:28:48
Aby uruchomić pip w Pythonie 3.x, po prostu postępuj zgodnie z instrukcjami na stronie Pythona: Instalowanie modułów Pythona .
python -m pip install SomePackage
Zauważ, że jest to uruchamiane z linii poleceń, a nie z powłoki Pythona (przyczyna błędu składni w oryginalnym pytaniu).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-02 19:53:46
Spróbuj uaktualnić pip za pomocą poniższego polecenia i spróbuj ponownie
python -m pip install -U pip
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-06 10:35:14