it-swarm-pt.tech

Por que "pip install" dentro do Python gera um SyntaxError?

Estou tentando usar o pip para instalar um pacote. Eu tento executar pip install do Python Shell, mas obtenho uma SyntaxError. Por que recebo esse erro? Como eu uso o pip para instalar o pacote?

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

o pip é executado a partir da linha de comando, não do interpretador Python. É um programa que instala modules, então você pode usá-los a partir do Python. Depois de instalar o módulo, você poderá abrir o Shell Python e fazer import Selenium.

O Shell Python não é uma linha de comando, é um interpretador interativo. Você digita código Python, não comandos.

242
Lennart Regebro

Use a linha de comando, não o Python Shell (DOS, PowerShell no Windows).

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

Se você instalou o Python no seu PATH usando os instaladores mais recentes, você não precisa estar nessa pasta para executar o pip 

Terminal no Mac ou Linux

$ pip install XYZ
85
ruxming

UPDATE: Desde a versão pip 10.x não há mais get_installed_distributions() ou main método sob import pip em vez disso use import pip._internal as pip.


Se você quiser usar pip dentro do interpretador Python, tente isto:

import pip

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

Se você precisar atualizar cada pacote instalado, use o seguinte:

import pip

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

Se você quiser parar de instalar outros pacotes se alguma instalação falhar, use-a em uma única chamada pip.main([]):

import pip

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

Nota : Quando você instala da lista no arquivo com o parâmetro -r/--requirement você NÃO precisa da função open ().

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

Aviso : Alguns parâmetros tão simples --help podem fazer com que o interpretador python pare.

Curiosidade: Usando pip.exe você realmente usa o interpretador python e o módulo pip de qualquer maneira. Se você descompactar pip.exe ou pip3.exe independentemente de ser python 2.x ou 3.x, o interior é o MESMO arquivo único __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

Para executar o pip no Python 3.x, basta seguir as instruções na página do Python: Instalando o Python Modules .

python -m pip install SomePackage

Observe que isso é executado a partir da linha de comando e não do Shell python (o motivo do erro de sintaxe na pergunta original).

45
Dan

Tente atualizar pip com o comando abaixo e tente novamente

python -m pip install -U pip
0
Karthik

você precisa digitá-lo em cmd não no IDLE. Porque IDLE não é um comando Prompt se você quiser instalar algo do tipo IDLE este

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

isso está chamando pip como pip <commands> no terminal. Os comandos serão separados pelos espaços que você está fazendo lá.

0
Matthijs990