comment vérifier quelle version de nltk, scikit learn est installée?


104

Dans le script shell, je vérifie si ces packages sont installés ou non, s'ils ne sont pas installés, installez-le. Donc avec le script shell:

import nltk
echo nltk.__version__

mais il arrête le script shell à la importligne

dans le terminal Linux a essayé de voir de cette manière:

which nltk

ce qui ne donne rien à penser qu'il est installé.

Existe-t-il un autre moyen de vérifier l'installation de ce package dans un script shell, s'il n'est pas installé, installez-le également.


3
Pourquoi le faites-vous dans un script shell? Pourquoi ne le faites-vous pas dans un fichier Python?
Ffisegydd

@Ffisegydd: J'ai une règle généralisée, où dans shellscript je vérifie tous les paquets nécessaires, si aucun paquet n'existe, puis installez-le autrement, passez à la vérification suivante. Comme j'ai besoin de vérifier et d'exécuter quelques autres scripts python ainsi que des shellscripts, je l'utilise. Est-ce que l'utilisation shellscriptpour cela est une mauvaise idée?
nlper le

Il sera beaucoup plus facile de tester ces derniers en utilisant un script Python (imo). Vous pouvez toujours appeler le script Python à partir d'un script shell, si vous le souhaitez vraiment. Si vous utilisez simplement la syntaxe du shell, vous devrez déterminer où se trouve chaque paquet, trouver le paquet, puis analyser son nom de fichier pour les numéros de version d'une manière ou d'une autre.
Ffisegydd

@Ffisegydd: merci, mais dans ce cas, je dois écrire un script python pour valider chaque package que je veux vérifier et exécuter ce script pour le valider. selon ce que je comprends.
nlper le

Ou vous les mettez tous dans un seul script?
Ffisegydd

Réponses:


161

import nltk est la syntaxe Python, et en tant que telle ne fonctionnera pas dans un script shell.

Pour tester la version de nltket scikit_learn, vous pouvez écrire un script Python et l'exécuter. Un tel script peut ressembler à

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.

Notez que tous les packages Python ne sont pas garantis d'avoir un __version__attribut, donc pour certains autres, cela peut échouer, mais pour nltk et scikit-learn au moins cela fonctionnera.


@Ffisgydd: merci, mais n'est-il pas possible d'enregistrer shellscript
nlper

@Ffisegydd Excellente réponse, mais trop compliquée pour une tâche aussi triviale
agcala

@nlper Pour shellscript: tapez pythonet >>> import sklearnpuis >>> sklearn.__version__et vous obtenez la version imprimée sur le shell. Idem pournltk
Vamshi Pulluri

29

Essaye ça:

$ python -c "import nltk; print nltk.__version__"

merci, mais n'est-il pas possible de s'enregistrershellscript
nlper le

6
@nlper, c'est du shellcode parfaitement valide . Je ne vois aucun problème avec cette réponse. Notez que vous pouvez utiliser var=$(<some command>)pour enregistrer la sortie dans une variable
cel

2
@cel: désolé, j'ai compris. Je n'ai pas assez de crédit pour voter pour la réponse
:)

21

Dans les systèmes Windows®, vous pouvez simplement essayer

pip3 list | findstr scikit

scikit-learn                  0.22.1

Si vous êtes sur Anaconda, essayez

conda list scikit

scikit-learn              0.22.1           py37h6288b17_0

Et cela peut être utilisé pour connaître la version de n'importe quel package que vous avez installé. Par exemple

pip3 list | findstr numpy

numpy                         1.17.4
numpydoc                      0.9.2

Ou si vous souhaitez rechercher plusieurs packages à la fois

pip3 list | findstr "scikit numpy"

numpy                         1.17.4
numpydoc                      0.9.2
scikit-learn                  0.22.1

Notez que les guillemets sont obligatoires lors de la recherche de plus d'un mot.

Prends soin de toi.


4
ESSAYEZ: $ pip list | grep scikit * - Pourquoi rechercher à travers un long quand grep est plus rapide.
oaxacamatt

@oaxacamatt Je ne suis pas sûr que vous puissiez utiliser grep dans les systèmes Windows.
agcala le

7

Pour vérifier la version de scikit-learn dans le script shell, si vous avez installé pip, vous pouvez essayer cette commande

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

J'espère que ça aide!


Uniquement sur la plate-forme Linux. Qu'en est-il du reste d'entre nous les mortels :)
agcala

5

Vous pouvez trouver la version NLTK simplement en faisant:

In [1]: import nltk

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

Et de même pour scikit-learn,

In [3]: import sklearn

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

J'utilise python3 ici.


1
Cela a fonctionné pour moi sur Python 3.5, nltk 3.2.2 sur Windows 8 64 bits
Rob Mulder

Cela n'a pas fonctionné pour moi sur Python 2.7, nltk 3.2.5 sur Ubuntu 16.04 64 bits
abggcv

0

vous pouvez vérifier à partir d'une cellule de notebook python comme suit

!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__))

et

#!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__))

-1

Dans ma machine qui est ubuntu 14.04 avec python 2.7 installé, si je vais ici,

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

il y a un fichier appelé

VERSION.

Si je fais une cat VERSIONimpression 3.1, c'est la version NLTK installée.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.