come controllare quale versione di nltk, scikit impara installata?


102

Nello script di shell sto controllando se questi pacchetti sono installati o meno, se non installati, installalo. Quindi con lo script di shell:

import nltk
echo nltk.__version__

ma ferma lo script di shell a import riga

nel terminale linux ha provato a vedere in questo modo:

which nltk

che non dà nulla pensato che sia installato.

C'è un altro modo per verificare l'installazione di questo pacchetto nello script della shell, se non installato, installalo anche.


3
Perché lo fai all'interno di uno script di shell? Perché non lo fai all'interno di un file Python?
Ffisegydd

@Ffisegydd: ho una regola generalizzata, dove in shellscript controllo tutti i pacchetti necessari, se qualche pacchetto non esiste, quindi installalo in altro modo, salta al controllo successivo. Dato che ho bisogno di controllare ed eseguire pochi altri script di shell Python, lo sto usando. Usare shellscriptper questo è una cattiva idea?
fino al

Sarà molto più facile testarne l'esistenza usando uno script Python (imo). Puoi sempre chiamare lo script Python da uno script di shell, se davvero lo desideri. Se usi solo la sintassi della shell, dovrai capire dove si trova ogni pacchetto, trovare il pacchetto, quindi analizzare in qualche modo il nome del file per i numeri di versione.
Ffisegydd

@Ffisegydd: grazie, ma in quel caso devo scrivere script python per convalidare ogni pacchetto che voglio controllare ed eseguire quello script per convalidarlo. secondo quello che ho capito.
fino al

O li metti tutti in una sceneggiatura?
Ffisegydd

Risposte:


158

import nltk è la sintassi di Python e come tale non funzionerà in uno script di shell.

Per testare la versione di nltke scikit_learn, puoi scrivere uno script Python ed eseguirlo. Un tale script potrebbe assomigliare

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.

Nota che non tutti i pacchetti Python hanno la garanzia di avere un __version__attributo, quindi per alcuni altri potrebbe fallire, ma per nltk e scikit-learn almeno funzionerà.


@Ffisgydd: grazie, ma non è possibile fare il check in shellscript
nlper

@Ffisegydd Ottima risposta, ma troppo complicata per un compito così banale
agcala

@nlper Per shellscript: digita pythone >>> import sklearne poi >>> sklearn.__version__e ottieni la versione stampata sulla shell. Lo stesso pernltk
Vamshi Pulluri

27

Prova questo:

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

grazie, ma non è possibile effettuare il check-inshellscript
entro il

6
@nlper, questo è un shellcodice perfettamente valido . Non vedo alcun problema con quella risposta. Nota che puoi usare var=$(<some command>)per salvare l'output in una variabile
cel

2
@cel: scusa, capito. Non ho abbastanza credito per votare la risposta
:)

21

Nei sistemi Windows® puoi semplicemente provare

pip3 list | findstr scikit

scikit-learn                  0.22.1

Se sei su Anaconda prova

conda list scikit

scikit-learn              0.22.1           py37h6288b17_0

E questo può essere utilizzato per scoprire la versione di qualsiasi pacchetto che hai installato. Per esempio

pip3 list | findstr numpy

numpy                         1.17.4
numpydoc                      0.9.2

O se vuoi cercare più di un pacchetto alla volta

pip3 list | findstr "scikit numpy"

numpy                         1.17.4
numpydoc                      0.9.2
scikit-learn                  0.22.1

Notare che le virgolette sono obbligatorie quando si cerca più di una parola.

Stai attento.


4
PROVA: $ pip list | grep scikit * - Perché cercare a lungo quando grep è più veloce.
oaxacamatt

@oaxacamatt Non sono sicuro che tu possa usare grep nei sistemi Windows.
agcala

7

Per controllare la versione di scikit-learn nello script di shell, se hai pip installato, puoi provare questo comando

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

Spero che sia d'aiuto!


Solo su piattaforma Linux. E il resto di noi mortali :)
agcala il

5

Puoi trovare la versione NLTK semplicemente facendo:

In [1]: import nltk

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

E allo stesso modo per scikit-learn,

In [3]: import sklearn

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

Sto usando python3 qui.


1
Questo ha funzionato per me su Python 3.5, nltk 3.2.2 su Windows 8 64 bit
Rob Mulder

Questo non ha funzionato per me su Python 2.7, nltk 3.2.5 su Ubuntu 16.04 64 bit
abggcv

0

puoi controllare da una cella del taccuino Python come segue

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

-1

Nella mia macchina che è ubuntu 14.04 con python 2.7 installato, se vado qui,

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

c'è un file chiamato

VERSION.

Se faccio una cat VERSIONstampa 3.1, che è la versione NLTK installata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.