Instale o Beautiful Soup para uso com uma versão superior do Python (do que o Mac OS padrão)

Instale o Beautiful Soup para uso com uma versão superior do Python (do que o Mac OS padrão)

Acabei de reinstalar o python 2.7 no meu macbook pro (executando o OS 10.13.6 High Sierra), pois o removi inadvertidamente, sem perceber que era necessário. Também tenho o Python 3.6.8 carregado no mesmo computador e estou trabalhando em "Automate the Boring Stuff", que requer Beautiful Soup para web scraping. O problema é que meu Terminal indica python v2.7.15 e está instalando o BS4 em algum lugar dessa biblioteca, mas estou precisando dele para python v3.6.8. Atualizei o Setuptools para as especificações mais recentes usando:

python -m pip install --upgrade pip setuptools wheel

Se eu digitar " python3" na linha de comando na tentativa de chegar à v3.6.8, recebo:

Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Tudo o que digito depois disso gera um erro de sintaxe ou se eu digitar:

python --version

ele retorna:

 Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'python' is not defined

Quando tento mudar o diretório para a pasta Downloads, recebo o seguinte:

>>> cd /Users/User/Downloads
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'cd' is not defined

Alguém pode aconselhar qual é o problema com a linha de comando? Além disso, como executo agora o instalador pip a partir da linha de comando para instalar/direcionar o pacote BS4 em/para a biblioteca python3.6.8?

Provavelmente é muito simples, no entanto, sou um pouco novato aqui ...

Obrigado pela ajuda.

Responder1

Se eu digitar "python3" na linha de comando na tentativa de chegar à v3.6.8, recebo:

Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Tudo o que digito depois disso me dá um erro de sintaxe

Isso ocorre porque os comandos que você está inserindo estão sendo interpretados porPitão, não o seu terminal. Para voltar ao seu terminal normal, digite quit().

como agora executo o instalador pip a partir da linha de comando para instalar/direcionar o pacote BS4 em/para a biblioteca python3.6.8

Parece que quando você reinstalou o Python 2.7, seus diretórios foram adicionados ao seuCAMINHO variável de ambienteantes dos diretórios do Python 3. Quando você entrar pythonno seu terminal, ele procurará um executável nomeado pythonprimeiro nodiretório de trabalho atuale, em seguida, através de cada um dos diretórios em seuCAMINHO. Ele executa a primeira partida e para de procurar.

Eu recomendaria editar seuCAMINHOportanto, os diretórios do Python 3 estão antes dos diretórios do Python 2. Vereditando a variável PATH no mac.

Estou executando o Windows e tenho estes dois diretórios em meu PATH para Python 3:

C:\Users\Admin\AppData\Local\Programs\Python\Python37\
C:\Users\Admin\AppData\Local\Programs\Python\Python37\Scripts

Preciso de ambos, porque o pythonexecutável está no primeiro diretório e o pipexecutável está no segundo.

Alternativamente, mude o diretório em seu terminal para onde pipestá o executável: cd [...]\Python\Python37\Scripts.

Agora você pode instalar o Beautiful Soup 4 para Python 3:pip install beautifulsoup4

Responder2

Obrigado Gordon.

Isso ocorre porque os comandos que você está inserindo estão sendo interpretados pelo Python, não pelo seu terminal. Para voltar ao seu terminal normal, digite quit()

Sim, isso foi um erro óbvio da minha parte. Obrigado por me esclarecer.

A questão de redefinir o PATH para priorizar Python 3 em vez de 2 exigirá um pouco de pesquisa; Achei o post vinculado um pouco confuso, mas significa apenas que preciso ler um pouco.

O que funcionou para mim foi simplesmente digitarpip3 install beautifulsoup4

Eu descobri isso enquanto procurava o caminho do arquivo para Python 3.6 e encontrei o readme.txt que fica na pasta Application dessa versão. A saber:

Coexistência entre Python 3 e Python 2: Python.org As versões Python 3.6 e 2.7.x podem ser instaladas em seu sistema e não entrarão em conflito. Os nomes dos comandos para Python 3 contêm um 3, python3 (ou python3.6), idle3 (ou idle3.6), pip3 (ou pip3.6), etc. Os nomes dos comandos do Python 2.7 contêm 2 ou nenhum dígito: python2 ( ou python2.7 ou python), inativo2 (ou inativo2.7 ou inativo), etc.

Então aí está.

Mas obrigado pela sua ajuda. Você me enviou na direção certa para ter certeza.

informação relacionada