como verificar qual versão do nltk, scikit learn está instalada?

102

No script de shell, estou verificando se esses pacotes estão instalados ou não, se não estiverem instalados, instale-os. Portanto, com o script de shell:

import nltk
echo nltk.__version__

mas para o script de shell na importlinha

no terminal linux tentei ver desta maneira:

which nltk

que não dá a impressão de que está instalado.

Existe alguma outra maneira de verificar a instalação deste pacote em script de shell, se não estiver instalado, instale-o também.

nlper
fonte
3
Por que você está fazendo isso em um script de shell? Por que você não está fazendo isso dentro de um arquivo Python?
Ffisegydd
@Ffisegydd: Eu tenho uma regra generalizada, onde no shellscript eu verifico todos os pacotes necessários, se algum pacote não existir, então o instalo de outra forma, pule para a próxima verificação. Como preciso verificar e executar alguns outros python, bem como shellscripts, estou usando. Usar shellscriptpara isso é má ideia?
nlper
Será muito mais fácil testar se eles existem usando um script Python (imo). Você sempre pode chamar o script Python a partir de um script de shell, se realmente quiser. Se você apenas usar a sintaxe do shell, terá que descobrir onde cada pacote está localizado, encontrar o pacote e, de alguma forma, analisar seu nome de arquivo para os números de versão.
Ffisegydd
@Ffisegydd: obrigado, mas nesse caso tenho que escrever um script Python para validar cada pacote que desejo verificar e executar esse script para validá-lo. de acordo com o que eu entendo.
nlper de
Ou você apenas coloca todos em um script?
Ffisegydd

Respostas:

158

import nltk é a sintaxe do Python e, como tal, não funciona em um script de shell.

Para testar a versão do nltke scikit_learn, você pode escrever um script Python e executá-lo. Esse script pode parecer

import nltk
import sklearn

print('The nltk version is {}.'.format(nltk.__version__))
print('The scikit-learn version is {}.'.format(sklearn.__version__))

# The nltk version is 3.0.0.
# The scikit-learn version is 0.15.2.

Observe que nem todos os pacotes Python possuem um __version__atributo garantido , portanto, para alguns outros ele pode falhar, mas para nltk e scikit-learn pelo menos funcionará.

Ffisegydd
fonte
@Ffisgydd: obrigado, mas não é possível fazer check-in do shellscript
nlper
@Ffisegydd Ótima resposta, mas muito complicado para uma tarefa tão trivial
agcala
@nlper Para shellscript: Digite pythone >>> import sklearne então >>> sklearn.__version__e você obterá a versão impressa no shell. O mesmo paranltk
Vamshi Pulluri
27

Experimente isto:

$ python -c "import nltk; print nltk.__version__"
Aaron
fonte
obrigado, mas não é possível fazer check-inshellscript
nlper
6
@nlper, este é um shellcódigo perfeitamente válido . Não vejo nenhum problema com essa resposta. Observe que você pode usar var=$(<some command>)para salvar a saída em uma variável
cel
2
@cel: desculpe, entendi. Não tenho crédito suficiente para
votar positivamente na
21

Nos sistemas Windows®, você pode simplesmente tentar

pip3 list | findstr scikit

scikit-learn                  0.22.1

Se você estiver no Anaconda tente

conda list scikit

scikit-learn              0.22.1           py37h6288b17_0

E isso pode ser usado para descobrir a versão do qualquer pacote que você instalou. Por exemplo

pip3 list | findstr numpy

numpy                         1.17.4
numpydoc                      0.9.2

Ou se você quiser procurar mais de um pacote por vez

pip3 list | findstr "scikit numpy"

numpy                         1.17.4
numpydoc                      0.9.2
scikit-learn                  0.22.1

Observe que os caracteres de aspas são necessários ao pesquisar mais de uma palavra.

Cuidar.

Agcala
fonte
4
TENTE: lista de $ pip | grep scikit * - Por que pesquisar em um longo quando grep é mais rápido.
oaxacamatt
@oaxacamatt Não tenho certeza se você pode usar grep em sistemas Windows.
agcala
7

Para verificar a versão do scikit-learn no script de shell, se você tiver o pip instalado, pode tentar este comando

pip freeze | grep scikit-learn
scikit-learn==0.17.1

Espero que ajude!

prabhat
fonte
Apenas na plataforma Linux. E o resto de nós mortais :)
agcala
5

Você pode encontrar a versão NLTK simplesmente fazendo:

In [1]: import nltk

In [2]: nltk.__version__
Out[2]: '3.2.5'

E da mesma forma para o scikit-learn,

In [3]: import sklearn

In [4]: sklearn.__version__
Out[4]: '0.19.0'

Estou usando o python3 aqui.

kmario23
fonte
1
Isso funcionou para mim no Python 3.5, nltk 3.2.2 no Windows 8 de 64 bits
Rob Mulder
Isso não funcionou para mim no Python 2.7, nltk 3.2.5 no Ubuntu 16.04 64 bits
abggcv
0

você pode verificar a partir de uma célula de notebook Python da seguinte forma

!pip install --upgrade nltk     # needed if nltk is not already installed
import nltk      
print('The nltk version is {}.'.format(nltk.__version__))
print('The nltk version is '+ str(nltk.__version__))

e

#!pip install --upgrade sklearn      # needed if sklearn is not already installed
import sklearn
print('The scikit-learn version is {}.'.format(sklearn.__version__))
print('The scikit-learn version is '+ str(nltk.__version__))
Orhan Celik
fonte
-1

Na minha máquina que é ubuntu 14.04 com python 2.7 instalado, se eu for aqui,

/usr/local/lib/python2.7/dist-packages/nltk/

existe um arquivo chamado

VERSION.

Se eu fizer um, cat VERSIONele imprime 3.1, qual é a versão NLTK instalada.

samsamara
fonte