nltk, scikit'in hangi sürümünün yüklü olduğunu nasıl kontrol edebilirim?


105

Kabuk betiğinde bu paketlerin kurulu olup olmadığını kontrol ediyorum, kurulmamışsa kurun. Yani, kabuk betiği ile:

import nltk
echo nltk.__version__

ancak importsatırda kabuk komut dosyasını durdurur

linux terminalinde şu şekilde görmeye çalıştım:

which nltk

bu da kurulu olduğunu düşünmez.

Bu paket kurulumunu kabuk komut dosyasında doğrulamanın başka bir yolu var mı, kurulu değilse, onu da yükleyin.


3
Bunu neden bir kabuk betiği içinde yapıyorsunuz? Bunu neden bir Python dosyası içinde yapmıyorsun?
Ffisegydd

@Ffisegydd: Genelleştirilmiş bir kuralım var, burada shellscript'te tüm ihtiyaç paketlerini kontrol ediyorum, eğer herhangi bir paket yoksa, diğer akıllıca bir sonraki kontrole atlayın. Diğer birkaç python ve kabuk komut dosyalarını kontrol etmem ve çalıştırmam gerektiğinden, onu kullanıyorum. Bunun shellscriptiçin kullanmak kötü bir fikir mi?
nlper

Bunların var olduğunu bir Python betiği (imo) kullanarak test etmek çok daha kolay olacaktır. Eğer gerçekten istiyorsan, Python betiğini her zaman bir kabuk betiğinden çağırabilirsin. Yalnızca kabuk sözdizimini kullanırsanız, her paketin nerede olduğunu bulmanız, paketi bulmanız ve ardından bir şekilde sürüm numaraları için dosya adını ayrıştırmanız gerekir.
Ffisegydd

@Ffisegydd: teşekkürler, ama bu durumda, kontrol etmek ve doğrulamak için o betiği çalıştırmak istediğim her paketi doğrulamak için python betiği yazmam gerekiyor. anladığım kadarıyla.
nlper

Yoksa hepsini tek bir senaryoya mı koyarsınız?
Ffisegydd

Yanıtlar:


164

import nltk Python sözdizimidir ve bu nedenle bir kabuk betiğinde çalışmaz.

Sürümünü test etmek nltkve scikit_learn, bir yazabilirsiniz Python komut ve çalıştırın. Böyle bir senaryo şöyle görünebilir

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.

Tüm Python paketlerinin bir __version__özniteliğe sahip olmasının garanti edilmediğini unutmayın , bu nedenle bazıları için başarısız olabilir, ancak nltk ve scikit-learn için en azından işe yarayacaktır.


@Ffisgydd: teşekkürler, ama shellscript'i kontrol etmek mümkün değil mi
nlper

@Ffisegydd Harika cevap, ancak bu kadar önemsiz bir görev için çok karmaşık
agcala

shellscript için @nlper: Tür pythonve >>> import sklearnardından >>> sklearn.__version__ve kabuk üzerinde yazılı versiyonu olsun. Aynısınltk
Vamshi Pulluri

29

Bunu dene:

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

teşekkürler, ancak giriş yapmak mümkün değil mishellscript
nlper

6
@nlper, bu tamamen geçerli bir shellkod. Bu cevapta herhangi bir sorun görmüyorum. Kendinizin kullanabileceği Not var=$(<some command>)değişken çıktı kaydetmek için
cel

2
@cel: üzgünüm, anladım. Yanıtı yükseltmek için yeterli krediniz yok :)
nlper

22

Windows® sistemlerinde deneyebilirsiniz

pip3 list | findstr scikit

scikit-learn                  0.22.1

Anaconda kullanıyorsanız deneyin

conda list scikit

scikit-learn              0.22.1           py37h6288b17_0

Ve bu, yüklediğiniz herhangi bir paketin sürümünü bulmak için kullanılabilir . Örneğin

pip3 list | findstr numpy

numpy                         1.17.4
numpydoc                      0.9.2

Ya da aynı anda birden fazla paket aramak istiyorsanız

pip3 list | findstr "scikit numpy"

numpy                         1.17.4
numpydoc                      0.9.2
scikit-learn                  0.22.1

Birden fazla kelime ararken tırnak karakterlerinin gerekli olduğunu unutmayın.

Kendine iyi bak.


5
TRY: $ pip listesi | grep scikit * - Grep daha hızlıyken neden uzun süre arama yapmalı?
oaxacamatt

1
@oaxacamatt Grep'i Windows sistemlerinde kullanabileceğinizden emin değilim.
agcala

Hayır değil, ancak Linux tabanlı sistemler için bir çözüm sağlıyor.
Sergio Lucero

7

Scikit-learn sürümünü kabuk betiğinde kontrol etmek için, pip yüklediyseniz, bu komutu deneyebilirsiniz.

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

Umarım yardımcı olur!


Yalnızca Linux platformunda. Peki ya biz ölümlüler :)
agcala

5

NLTK sürümünü basitçe şu şekilde bulabilirsiniz:

In [1]: import nltk

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

Scikit-learn için de benzer şekilde,

In [3]: import sklearn

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

Burada python3 kullanıyorum.


1
Bu 64 bit Windows 8'de Python 3.5, nltk 3.2.2 benim için çalıştı
Rob Mulder

Bu benim için Python 2.7'de çalışmadı, Ubuntu 16.04 64 bit üzerinde nltk 3.2.5
abggcv

0

aşağıdaki gibi bir python not defteri hücresinden kontrol edebilirsiniz

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

ve

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

Python 2.7 yüklü ubuntu 14.04 olan makinemde, buraya gidersem,

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

adlı bir dosya var

VERSION.

Ben yaparsanız cat VERSIONo yazdırır 3.1yüklü NLTK versiyonu olan.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.