Odpowiedzi:
pip jest uruchamiany z wiersza poleceń, a nie z interpretera Pythona. Jest to program, który instaluje moduły, dzięki czemu można ich używać z języka Python. Po zainstalowaniu modułu możesz otworzyć powłokę Pythona i zrobić import selenium
.
Powłoka Pythona nie jest wierszem poleceń, jest interaktywnym interpretatorem. Wpisujesz w nim kod Python, a nie polecenia.
pip
będzie w katalogu skryptów instalacji Pythona, więc będziesz chciał dodać go do swojej ścieżki. Dodaj C:\Python32\scripts
do swojego PATH
. W razie potrzeby zmień ścieżkę w zależności od miejsca instalacji.
Użyj wiersza poleceń, a nie powłoki Pythona (DOS, PowerShell w systemie Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Jeśli zainstalowałeś Pythona w PATH przy użyciu najnowszych instalatorów, nie musisz być w tym folderze, aby uruchomić pip
Terminal w systemie Mac lub Linux
$ pip install XYZ
PATH
. Musiałem to zrobić ręcznie, wskazując ścieżkę instalacji w%APPDATA%
Jak sugeruje @sinoroc, poprawny sposób instalowania pakietu przez pip używa osobnego procesu, ponieważ pip może spowodować zamknięcie wątku lub może wymagać ponownego uruchomienia interpretera, aby załadować nowy zainstalowany pakiet, więc jest to właściwy sposób korzystania z API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])
ale ponieważ Python pozwala aby uzyskać dostęp do wewnętrznego interfejsu API, a wiesz, z czego korzystasz, możesz mimo to użyć wewnętrznego interfejsu API, np. jeśli budujesz własnego menedżera pakietów GUI z alternatywnymi zasobami, takimi jak https://www.lfd.uci.edu/~gohlke/pythonlibs/
Po soulution jest NIEAKTUALNY, zamiast głosowania w dół sugeruj aktualizacje. patrz https://github.com/pypa/pip/issues/7498 w celach informacyjnych.
get_installed_distributions()
lub main
metoda pod import pip
zamiast używać import pip._internal as pip
.
AKTUALIZACJA ca. v.18 get_installed_distributions()
został usunięty. Zamiast tego możesz użyć generatora freeze
takiego:
from pip._internal.operations.freeze import freeze
print([package for package in freeze()])
# eg output ['pip==19.0.3']
import pip
package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade'])
# --upgrade to install or update existing packages
Jeśli musisz zaktualizować każdy zainstalowany pakiet, użyj następujących poleceń:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
Jeśli chcesz przerwać instalowanie innych pakietów, jeśli jakakolwiek instalacja zakończy się niepowodzeniem, użyj go w jednym pip.main([])
wywołaniu:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Uwaga : Gdy instalujesz z listy w pliku z parametrem -r
/ --requirement
, NIE potrzebujesz funkcji open ().
pip.main(['install', '-r', 'filename'])
Ostrzeżenie : niektóre parametry jako proste --help
mogą powodować zatrzymanie interpretera Pythona.
Ciekawość: pip.exe
i tak korzystasz z 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ę SAMY 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())
Aby uruchomić pip w Pythonie 3.x, postępuj zgodnie z instrukcjami na stronie Pythona : Instalowanie modułów Pythona .
python -m pip install SomePackage
Zauważ, że jest to uruchamiane z wiersza poleceń, a nie z powłoki Pythona (przyczyna błędu składni w pierwotnym pytaniu).
Początkowo również napotkałem ten sam problem, zainstalowałem Pythona, a kiedy uruchomiłem pip
polecenie, zwrócił mi błąd, jak pokazano na poniższym obrazku.
Upewnij się, że ścieżka pip jest dodawana do zmiennych środowiskowych. Dla mnie ścieżka instalacji Pythona i Pipa to ::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
Obie ścieżki zostały dodane do ścieżki w zmiennych środowiskowych.
Teraz otwórz nowe okno cmd i wpisz pip, powinieneś zobaczyć ekran jak poniżej.
Teraz wpisz pip install <<package-name>>
. Tutaj instaluję pakiet spyder, więc moja instrukcja w wierszu poleceń będzie taka jak pip install spyder
i oto mój ekran startowy.
i mam nadzieję, że skończymy z tym !!
musisz wpisać go w cmd, a nie w IDLE. ponieważ IDLE nie jest wierszem poleceń, jeśli chcesz zainstalować coś z IDLE, wpisz to
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
to nazywa się pip jak pip <commands>
w terminalu. Polecenia będą oddzielone spacjami, które tam robisz.
ImportError: cannot import name main
using pip v19.0.3
Programowo następujące obecnie działa. Widzę wszystkie odpowiedzi po 10.0 i wszystkie, ale żadna z nich nie jest dla mnie właściwą ścieżką. W Kaggle na pewno działa ten apporach
from pip._internal import main as _main
package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])
Spróbuj zaktualizować pip za pomocą poniższego polecenia i spróbuj ponownie
python -m pip install -U pip