it-swarm.com.ru

Почему "установка pip" внутри Python вызывает ошибку SyntaxError?

Я пытаюсь использовать pip для установки пакета. Я пытаюсь запустить pip install из оболочки Python, но я получаю SyntaxError. Почему я получаю эту ошибку? Как мне использовать pip для установки пакета?

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

pip запускается из командной строки, а не интерпретатора Python. Это программа, которая устанавливает modules, поэтому вы можете использовать их из Python. После установки модуля вы можете открыть оболочку Python и выполнить команду import Selenium.

Оболочка Python - это не командная строка, это интерактивный интерпретатор. Вы вводите в него код Python, а не команды.

242
Lennart Regebro

Используйте командную строку, а не оболочку Python (DOS, PowerShell в Windows).

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

Если вы установили Python в PATH, используя последние установщики, вам не нужно находиться в этой папке для запуска pip 

Терминал в Mac или Linux

$ pip install XYZ
85
ruxming

UPDATE: Поскольку pip версии 10.x, в import pipбольше нет метода get_installed_distributions() или main вместо этого используйтеimport pip._internal as pip.


Если вы хотите использовать pip внутри интерпретатора Python, попробуйте это:

import pip

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

Если вам нужно обновить каждый установленный пакет, используйте следующее:

import pip

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

Если вы хотите прекратить установку других пакетов в случае сбоя какой-либо установки, используйте его в одном вызове pip.main([]):

import pip

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

Примечание: при установке из списка в файл с параметром -r--requirement вам НЕ требуется функция open ().

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

_/Warning: Некоторые простые параметры --help могут привести к остановке интерпретатора Python.

Любопытство: используя pip.exe, вы все равно используете интерпретатор python и модуль pip. Если вы распакуете pip.exe или pip3.exe, независимо от того, что это - python 2.x или 3.x, то внутри будет ОДНО тот же самый файл __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

Чтобы запустить pip в Python 3.x, просто следуйте инструкциям на странице Python: Установка модулей Python .

python -m pip install SomePackage

Обратите внимание, что это запускается из командной строки, а не из оболочки Python (причина синтаксической ошибки в исходном вопросе).

45
Dan

Попробуйте обновить пункт с помощью приведенной ниже команды и повторите попытку

python -m pip install -U pip
0
Karthik

вам нужно ввести его в cmd, а не в режиме IDLE. потому что IDLE не является командной строкой, если вы хотите установить что-то из IDLE, введите это

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

это вызывает пип, как pip <commands> в терминале. Команды будут разделены пробелами, которые вы там делаете.

0
Matthijs990