インストールされているnltk、scikit学習のバージョンを確認する方法


102

シェルスクリプトで、このパッケージがインストールされているかどうかを確認しています。インストールされていない場合は、インストールしてください。だからシェルスクリプトを使って:

import nltk
echo nltk.__version__

しかし、それはimport行でシェルスクリプトを停止します

Linuxターミナルでこの方法で見ようとしました:

which nltk

インストールされているとは考えられません。

シェルスクリプトでこのパッケージのインストールを確認する他の方法はありますか?インストールされていない場合は、それもインストールします。


3
なぜあなたはシェルスクリプト内でそれをしているのですか?Pythonファイル内で実行しないのはなぜですか?
Ffisegydd 2015

@Ffisegydd:私は1つの一般化されたルールを持っています。シェルスクリプトですべての必要なパッケージをチェックし、パッケージが存在しない場合はインストールして、それ以外の場合は次のチェックにスキップしてインストールします。他のいくつかのpythonとシェルスクリプトを確認して実行する必要があるため、私はそれを使用しています。shellscriptこれを使用するのは悪い考えですか?
nlper 2015

Pythonスクリプト(imo)を使用して、これらの存在をテストする方がはるかに簡単です。本当に望めば、いつでもPythonスクリプトをシェルスクリプトから呼び出すことができます。シェル構文を使用するだけの場合は、各パッケージがどこにあるかを調べ、パッケージを見つけて、ファイル名のバージョン番号を解析する必要があります。
Ffisegydd 2015

@Ffisegydd:ありがとうございます。ただし、その場合は、チェックする各パッケージを検証するためのPythonスクリプトを記述して、そのスクリプトを検証および検証する必要があります。私が理解していることに従って。
nlper 2015

それとも、すべてを1つのスクリプトにまとめますか?
Ffisegydd 2015

回答:


156

import nltk Pythonの構文なので、シェルスクリプトでは機能しません。

nltkおよびのバージョンをテストするにはscikit_learnPythonスクリプトを記述して実行します。このようなスクリプトは次のようになります

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.

すべてのPythonパッケージが__version__属性を持つことが保証されているわけではないので、他の一部のパッケージでは失敗する可能性がありますが、nltkとscikit-learnでは少なくとも機能します。


@Ffisgydd:ありがとう、しかしシェルスクリプトをチェックインすることはできません
nlper

@Ffisegyddすばらしい回答ですが、そのような簡単な作業には複雑すぎます
agcala 2018

@nlper shellscriptの場合:タイプしてpythonから>>> import sklearn>>> sklearn.__version__シェルに出力されたバージョンを取得します。同じnltk
Vamshi Pulluri

27

これを試して:

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

おかげで、チェックインすることはできませんshellscript
nlper

6
@nlper、これは完全に有効なshellコードです。その答えには何の問題もありません。を使用var=$(<some command>)して出力を変数に保存できることに注意してください
cel

2
@cel:すみません、わかりました。回答に
賛成票を投じる

21

Windows®システムでは、簡単に試すことができます

pip3 list | findstr scikit

scikit-learn                  0.22.1

あなたはアナコンダの上にある場合は試してみます

conda list scikit

scikit-learn              0.22.1           py37h6288b17_0

そして、これはのバージョンを見つけるために使用することができます インストールしたパッケージできます。例えば

pip3 list | findstr numpy

numpy                         1.17.4
numpydoc                      0.9.2

または、一度に複数のパッケージを検索したい場合

pip3 list | findstr "scikit numpy"

numpy                         1.17.4
numpydoc                      0.9.2
scikit-learn                  0.22.1

複数の単語を検索する場合は、引用符が必要であることに注意してください。

気を付けて。


4
TRY:$ピップリスト| grep scikit *-grepの方が高速なのに、なぜlongを検索するのか。
oaxacamatt

@oaxacamatt Windowsシステムでgrepを使用できるかどうかはわかりません。
agcala

7

シェルスクリプトでscikit-learnのバージョンを確認するために、pipがインストールされている場合は、次のコマンドを試すことができます

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

それが役に立てば幸い!


Linuxプラットフォームのみ。残りの私たち人間については
どうでしょう

5

NLTKバージョンは、次のようにして簡単に見つけることができます。

In [1]: import nltk

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

同様にscikit-learnの場合、

In [3]: import sklearn

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

ここではpython3を使用しています。


1
これは、Python 3.5ではWindows 8 64ビットのnltk 3.2.2で機能しました
Rob Mulder

これは、Python 2.7ではUbuntuで、nltk 3.2.5では64ビットで動作しませんでした
abggcv 2017

0

あなたは次のようにpythonノートブックセルから確認することができます

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

そして

#!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がインストールされたubuntu 14.04のマシンで、ここに行くと、

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

というファイルがあります

VERSION

実行するcat VERSION3.1、が印刷されます。これは、インストールされているNLTKバージョンです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.