Nltk: Atualize as instruções de instalação para versões recentes do Python

Criado em 30 mai. 2015  ·  14Comentários  ·  Fonte: nltk/nltk

As versões recentes do Python vêm com pip por padrão, portanto, as instruções de instalação em http://www.nltk.org/install.html estão desatualizadas.

Para instalações modernas (independentemente do sistema operacional), as duas etapas a seguir devem ser suficientes:

  1. Instalar NLTK: pip install nltk
  2. Instalação de teste: execute python e digite import nltk

A sugestão de instalar opcionalmente o NumPy deve ser advertida, observando que requer um sistema de compilação funcional, e os usuários podem preferir consultar as recomendações para instalar a pilha completa do SciPy: http://scipy.org/install.html

Os usuários de versões mais antigas do Python sem o pip já instalado provavelmente seriam mais bem atendidos consultando as próprias instruções de instalação do pip em https://pip.pypa.io/en/latest/installing.html

documentation inactive

Comentários muito úteis

@txtsd há um erro de digitação no seu comando de instalação, pois você tem ntlk vez de nltk (e pip/pypi atualmente não implementa sugestões de erros de digitação)

Todos 14 comentários

Para contextualizar de onde veio essa solicitação, tivemos um novo usuário do Python vindo para distutils-sig confuso com a dança de inicialização setuptools/pip: https://mail.python.org/pipermail/distutils-sig/2015-May/026486 .html

Essa dança _é_ confusa, e é por isso que começamos a fornecer pip por padrão.

Oi @coghlan ,

Aqui está minha tentativa anterior de escrever documentos de instalação e a discussão relacionada: https://github.com/nltk/nltk/pull/697. Poderia verificar e pesar? Sua experiência com o que funciona e o que não funciona seria muito útil.

Eu acho que é uma boa ideia liderar com as instruções simples "se você já tiver o Python e o pip instalados e configurados, basta executar 'pip install --user nltk'", como se isso funcionasse, o usuário pode apenas executá-lo e mover sobre. Se você _supõe_ que é necessário instruí-los sobre como instalar o Python, existe o risco de que eles coloquem o NLTK na cesta "muito difícil" e percam o fato de que era apenas um comando de distância.

Vale a pena perguntar "Como essas instruções simples podem falhar?". Os três principais casos:

  1. Eles ainda não têm Python. Nesses casos, sugiro adiar as instruções da pilha SciPy, pois isso dará aos usuários afetados um NLTK acelerado por NumPy: http://scipy.org/install.html
  2. Eles têm Python, mas não pip. Nesses casos, sugiro adiar as instruções de inicialização do próprio pip: https://pip.pypa.io/en/latest/installing.html
  3. Eles têm Python e pip, mas há outra coisa que impede que a abordagem "pip install --user nltk" funcione (por exemplo, eles estão usando uma instalação do sistema Python 3 no Linux, onde "pip" é instalado na pilha Python 2 e você precisa usar "pip3" ou "python3 -m pip" para instalar na versão correta). Para este caso, sugiro recomendar que eles tentem "python -m pip install --user nltk", e se isso ainda não funcionar, aponte-os para https://docs.python.org/3/installing/ para mais informações ideias para experimentar.

Finalmente, para uso mais avançado (como aprender a usar ambientes virtuais), você pode apontá-los para https://packaging.python.org/en/latest/ e https://packaging.python.org/en/latest/ science.html

A chave é se concentrar em "Como posso levar um usuário ao ponto de usar o NLTK de forma produtiva no menor número de etapas possíveis?", em vez de tentar ensinar habilidades estranhas (como o uso de ambientes virtuais) que provavelmente serão úteis para eles a longo prazo, mas inicialmente são apenas uma distração da tarefa de se levantar e correr pela primeira vez. ("Isso será útil para você mais tarde, confie em mim" quase nunca atrai a atenção de um aluno presencial e é ainda menos eficaz quando usado como parte de um processo de aprendizado autodirigido)

Os princípios da proposta da @ncoghlan de:

  • mantê-lo o mais simples possível, e
  • delegar a outras fontes de informação (autorizadas) sempre que possível

ambos me parecem certeiros.

Obrigado @ncoghlan , @kmike. Simplifiquei um pouco as instruções (consulte http://www.nltk.org/install.html). Antes de fazer mais, eu queria verificar a melhor versão do comando pip. Três estão na mesa:

pip install nltk
sudo pip install nltk
pip install --user nltk

Tudo isso pressupõe que o pip esteja instalado no caminho dos usuários. Qual opção ou explicação de opções é provavelmente a mais geral?

Provavelmente é melhor ir com:

pip install nltk

Atualmente, existem casos em que isso não funcionará (especificamente instalações do sistema Python no Linux), mas esse é um problema conhecido com o comportamento padrão do pip: https://github.com/pypa/pip/issues/1668

Vale a pena sugerir "pip install --user nltk" como alternativa se a instalação inicial falhar com um erro de permissão.

▶ pip install ntlk
Collecting ntlk
  Could not find a version that satisfies the requirement ntlk (from versions: )
No matching distribution found for ntlk

Este é o comportamento esperado neste momento?
Devo compilar a partir do git?

@txtsd há um erro de digitação no seu comando de instalação, pois você tem ntlk vez de nltk (e pip/pypi atualmente não implementa sugestões de erros de digitação)

@ncoghlan Bem, isso é embaraçoso. Obrigado!

Recentemente, scikit-learn afastou as pessoas de pip e confiou no gerenciador de pacotes da distro ou conda : http://scikit-learn.org/stable/install.html.

Possivelmente, adicionar instruções de instalação do conda a http://www.nltk.org/install.html pode economizar algum tempo aos usuários, por exemplo, http://nlpworkgroup.postach.io/post/install-miniconda-python-for-nltk- on-windows , especialmente para usuários do Windows.

@alvations bom ponto em relação a conda . É provavelmente a maneira mais robusta de obter um ambiente python científico funcional.

Coletando nlkt
Não foi possível encontrar uma versão que satisfaça o requisito nlkt (das versões: )
Nenhuma distribuição correspondente encontrada para nlkt

Estou enfrentando esse problema, tento instalar o nlkt
Por favor me ajude a tentar resolvê-lo estou usando o Ubuntu 17.04

@kafomambia Há um erro de digitação no seu comando de instalação - as duas últimas letras estão invertidas. Você quer nltk (para Natural Language ToolKit) em vez de seu nlkt atual.

Coletando nltk
Tentando novamente (Repetir(total=4, conectar=Nenhum, ler=Nenhum, redirecionar=Nenhum)) após conectar
ção quebrada por 'NewConnectionError(' Objeto ction.VerifiedHTTPSConnection em 0x0000007AC2BB2748>: Falha ao estabelecer
uma nova conexão: [Errno 11002] getaddrinfo falhou',)': /simple/nltk/
Tentando novamente (Repetir(total=3, conectar=Nenhum, ler=Nenhum, redirecionar=Nenhum)) após conectar
ção quebrada por 'NewConnectionError(' Objeto ction.VerifiedHTTPSConnection em 0x0000007AC2BB2B38>: Falha ao estabelecer
uma nova conexão: [Errno 11002] getaddrinfo falhou',)': /simple/nltk/
Tentando novamente (Repetir(total=2, conectar=Nenhum, ler=Nenhum, redirecionar=Nenhum)) após conectar
ção quebrada por 'NewConnectionError(' Objeto ction.VerifiedHTTPSConnection em 0x0000007AC2BB2860>: Falha ao estabelecer
uma nova conexão: [Errno 11002] getaddrinfo falhou',)': /simple/nltk/
Tentando novamente (Repetir(total=1, conectar=Nenhum, ler=Nenhum, redirecionar=Nenhum)) após conectar
ção quebrada por 'NewConnectionError(' Objeto ction.VerifiedHTTPSConnection em 0x0000007AC2BB29E8>: Falha ao estabelecer
uma nova conexão: [Errno 11002] getaddrinfo falhou',)': /simple/nltk/
Tentando novamente (Repetir(total=0, conectar=Nenhum, ler=Nenhum, redirecionar=Nenhum)) após a conexão
ção quebrada por 'NewConnectionError(' Objeto ction.VerifiedHTTPSConnection em 0x0000007AC2BB2898>: Falha ao estabelecer
uma nova conexão: [Errno 11002] getaddrinfo falhou',)': /simple/nltk/
Não foi possível encontrar uma versão que satisfaça o requisito nltk (das versões: )

Nenhuma distribuição correspondente encontrada para nltk

Estou recebendo o erro acima enquanto tento instalar o nltk (python 3.5.2)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ndvbd picture ndvbd  ·  4Comentários

BLKSerene picture BLKSerene  ·  4Comentários

alvations picture alvations  ·  4Comentários

zdog234 picture zdog234  ·  3Comentários

alvations picture alvations  ·  4Comentários