bagaimana cara memeriksa versi nltk, scikit belajar diinstal?

102

Dalam skrip shell saya memeriksa apakah paket ini diinstal atau tidak, jika tidak diinstal maka instal. Jadi dengan skrip shell:

import nltk
echo nltk.__version__

tetapi menghentikan skrip shell pada importbaris

di terminal linux mencoba melihat dengan cara ini:

which nltk

yang tidak memberikan pemikiran apa-apa itu diinstal.

Apakah ada cara lain untuk memverifikasi instalasi paket ini dalam skrip shell, jika tidak diinstal, instal juga.

nlper
sumber
3
Mengapa Anda melakukannya dalam skrip shell? Mengapa Anda tidak melakukannya di dalam file Python?
Ffisegydd
@ Ffisegydd: Saya punya satu aturan umum, di mana di shellscript saya memeriksa semua paket kebutuhan, jika ada paket yang tidak ada, maka instal dengan bijak lain lompat ke pemeriksaan berikutnya. Karena saya perlu memeriksa dan mengeksekusi beberapa python lainnya serta shellscripts, saya menggunakannya. Apakah menggunakan shellscriptuntuk ini adalah ide yang buruk?
nlper
Akan jauh lebih mudah untuk menguji keberadaan ini menggunakan skrip Python (imo). Anda selalu dapat memanggil skrip Python dari skrip shell, jika Anda benar-benar menginginkannya. Jika Anda hanya menggunakan sintaks shell maka Anda harus mencari tahu di mana setiap paket berada, menemukan paketnya, lalu mengurai nama filenya untuk nomor versi.
Ffisegydd
@ Ffisegydd: terima kasih, tetapi dalam kasus itu saya harus menulis skrip python untuk memvalidasi setiap paket saya ingin memeriksa dan menjalankan skrip itu untuk memvalidasinya. sesuai apa yang saya mengerti.
nlper
Atau Anda hanya memasukkan semuanya dalam satu skrip?
Ffisegydd

Jawaban:

158

import nltk adalah sintaks Python, dan karena itu tidak akan berfungsi di skrip shell.

Untuk menguji versi nltkdan scikit_learn, Anda dapat menulis skrip Python dan menjalankannya. Skrip seperti itu mungkin terlihat seperti itu

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.

Perhatikan bahwa tidak semua paket Python dijamin memiliki __version__atribut, jadi untuk beberapa paket lain mungkin gagal, tetapi untuk nltk dan scikit-learn setidaknya itu akan berfungsi.

Ffisegydd.dll
sumber
@Ffisgydd: terima kasih, tetapi apakah tidak mungkin untuk memeriksa di shellscript
nlper
@Ffisegydd Jawaban yang bagus, tetapi terlalu rumit untuk tugas yang sepele
agcala
@nlper Untuk shellscript: Jenis pythondan >>> import sklearnkemudian >>> sklearn.__version__dan Anda mendapatkan versi dicetak pada shell. Sama untuknltk
Vamshi Pulluri
27

Coba ini:

$ python -c "import nltk; print nltk.__version__"
Aaron
sumber
terima kasih, tetapi apakah tidak mungkin untuk check-inshellscript
nlper
6
@nlper, ini adalah shellkode yang benar-benar valid . Saya tidak melihat ada masalah dengan jawaban itu. Perhatikan, bahwa Anda dapat menggunakan var=$(<some command>)untuk menyimpan output ke variabel
cel
2
@cel: maaf, mengerti. Tidak memiliki kredit yang cukup untuk memberi jawaban
positif :)
21

Dalam sistem Windows® Anda cukup mencoba

pip3 list | findstr scikit

scikit-learn                  0.22.1

Jika Anda menggunakan Anaconda, cobalah

conda list scikit

scikit-learn              0.22.1           py37h6288b17_0

Dan ini dapat digunakan untuk mengetahui versi paket apa pun yang telah Anda instal. Sebagai contoh

pip3 list | findstr numpy

numpy                         1.17.4
numpydoc                      0.9.2

Atau jika Anda ingin mencari lebih dari satu paket dalam satu waktu

pip3 list | findstr "scikit numpy"

numpy                         1.17.4
numpydoc                      0.9.2
scikit-learn                  0.22.1

Perhatikan bahwa karakter kutipan diperlukan saat mencari lebih dari satu kata.

Hati hati.

agcala
sumber
4
COBA: $ daftar pip | grep scikit * - Mengapa mencari sepanjang waktu saat grep lebih cepat.
oaxacamatt
@oaxacamatt Saya tidak yakin Anda dapat menggunakan grep di sistem Windows.
agcala
7

Untuk memeriksa versi scikit-learn dalam skrip shell, jika Anda telah menginstal pip, Anda dapat mencoba perintah ini

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

Semoga membantu!

prabhat
sumber
Hanya di platform Linux. Bagaimana dengan kita semua yang fana :)
agcala
5

Anda dapat menemukan versi NLTK hanya dengan melakukan:

In [1]: import nltk

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

Dan juga untuk scikit-learn,

In [3]: import sklearn

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

Saya menggunakan python3 di sini.

kmario23
sumber
1
Ini bekerja untuk saya pada Python 3.5, nltk 3.2.2 pada Windows 8 64 bit
Rob Mulder
Ini tidak berhasil untuk saya pada Python 2.7, nltk 3.2.5 di Ubuntu 16.04 64 bit
abggcv
0

Anda dapat memeriksa dari sel notebook python sebagai berikut

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

dan

#!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
sumber
-1

Di mesin saya yang ubuntu 14.04 dengan python 2.7 diinstal, jika saya pergi ke sini,

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

ada file bernama

VERSION.

Jika saya cat VERSIONmencetaknya 3.1, yang merupakan versi NLTK yang diinstal.

samsamara
sumber