Respostas:
O pip é executado na linha de comando, não no interpretador Python. É um programa que instala módulos, para que você possa usá-los no Python. Depois de instalar o módulo, você pode abrir o shell Python e fazer import selenium
.
O shell Python não é uma linha de comando, é um intérprete interativo. Você digita o código Python nele, não comandos.
pip
estará no diretório de scripts da sua instalação python, portanto você desejará adicioná-lo ao seu caminho. Adicione C:\Python32\scripts
ao seu PATH
. Altere o caminho conforme necessário, com base em onde você o instalou.
Use a linha de comando, não o shell Python (DOS, PowerShell no Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
Se você instalou o Python no PATH usando os instaladores mais recentes, não precisará estar nessa pasta para executar o pip
Terminal no Mac ou Linux
$ pip install XYZ
PATH
. Eu tinha que fazer isso manualmente, apontando para o caminho de instalação em%APPDATA%
Como o @sinoroc sugeriu que a maneira correta de instalar um pacote via pip está usando um processo separado, pois o pip pode causar o fechamento de um encadeamento ou pode exigir uma reinicialização do intérprete para carregar o novo pacote instalado, portanto esta é a maneira correta de usar a API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject'])
mas como o Python permite para acessar a API interna e você sabe para que está usando a API, convém usar a API interna de qualquer maneira, por exemplo. se você estiver criando um gerenciador de pacotes da GUI com recursos alternativos, como https://www.lfd.uci.edu/~gohlke/pythonlibs/
O soulution a seguir está DESATUALIZADO, em vez de reduzir a votação, sugerir atualizações. consulte https://github.com/pypa/pip/issues/7498 para obter referência.
get_installed_distributions()
ou main
método em import pip
vez usar import pip._internal as pip
.
ATUALIZAÇÃO ca. v.18 get_installed_distributions()
foi removido. Em vez disso, você pode usar um gerador freeze
como este:
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
Se você precisar atualizar todos os pacotes instalados, use o seguinte:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
Se você deseja parar de instalar outros pacotes se alguma instalação falhar, use-o em uma única pip.main([])
chamada:
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 -r
/ --requirement
parâmetro, NÃO precisa da função open ().
pip.main(['install', '-r', 'filename'])
Aviso : Alguns parâmetros simples --help
podem fazer com que o interpretador python seja interrompido.
Curiosidade: Ao usar, pip.exe
você realmente usa o interpretador python e o módulo pip de qualquer maneira. Se você descompactar pip.exe
ou pip3.exe
não importar o python 2.x ou 3.x, o interior será o mesmo arquivo único __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())
Para executar o pip no Python 3.x, basta seguir as instruções na página do Python: Instalando os módulos do Python .
python -m pip install SomePackage
Observe que isso é executado na linha de comando e não no shell python (o motivo do erro de sintaxe na pergunta original).
Inicialmente, eu também enfrentei esse mesmo problema, instalei o python e, quando executo o pip
comando, ele me lançava um erro como mostrado na foto abaixo.
Verifique se o caminho do pip é adicionado nas variáveis ambientais. Para mim, o caminho de instalação do python e do pip é ::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
esses dois caminhos foram adicionados ao caminho em variáveis ambientais.
Agora abra uma nova janela do cmd e digite pip, você deverá ver uma tela como abaixo.
Agora digite pip install <<package-name>>
. Aqui estou instalando o pacote spyder para que minha declaração de linha de comando seja como pip install spyder
e aqui vai minha tela de execução.
e espero que terminemos com isso !!
você precisa digitá-lo no cmd, não no IDLE. porque IDLE não é um prompt de comando se você deseja instalar algo do IDLE, digite 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 por espaços para os quais você está fazendo lá.
ImportError: cannot import name main
usando pip v19.0.3
Programaticamente, o seguinte funciona atualmente . Vejo todas as respostas postadas 10.0 e todas, mas nenhuma delas é o caminho correto para mim. No Kaggle, com certeza, essa abordagem funciona
from pip._internal import main as _main
package_names=['pandas'] #packages to install
_main(['install'] + package_names + ['--upgrade'])
Tente atualizar o pip com o comando abaixo e tente novamente
python -m pip install -U pip