설치된 nltk, scikit learn 버전을 확인하는 방법은 무엇입니까?


102

쉘 스크립트에서이 패키지가 설치되었는지 여부를 확인하고 있습니다. 설치되지 않은 경우 설치합니다. 따라서 쉘 스크립트를 사용하여 :

import nltk
echo nltk.__version__

하지만 import라인 에서 쉘 스크립트를 중지 합니다.

리눅스 터미널에서 다음과 같은 방식으로 보려고했습니다.

which nltk

설치되었다고 생각하지 않습니다.

쉘 스크립트에서이 패키지 설치를 확인하는 다른 방법이 있습니까 (설치되지 않은 경우 설치).


3
쉘 스크립트 내에서 수행하는 이유는 무엇입니까? 왜 파이썬 파일 안에서하지 않습니까?
Ffisegydd

@Ffisegydd : 하나의 일반화 된 규칙이 있는데, 쉘 스크립트에서 패키지가없는 경우 필요한 모든 패키지를 확인한 다음 설치하고 다음 확인으로 건너 뜁니다. 쉘 스크립트뿐만 아니라 다른 파이썬도 거의 확인하고 실행해야하므로 사용하고 있습니다. shellscript이것을 사용 하는 것이 나쁜 생각입니까?
nlper

Python 스크립트 (imo)를 사용하여 이러한 존재를 테스트하는 것이 훨씬 더 쉽습니다. 정말로 원한다면 항상 쉘 스크립트에서 Python 스크립트를 호출 할 수 있습니다. 쉘 구문을 사용하는 경우 각 패키지의 위치를 ​​파악하고 패키지를 찾은 다음 어떻게 든 버전 번호에 대한 파일 이름을 구문 분석해야합니다.
Ffisegydd

@Ffisegydd : 감사합니다.하지만이 경우에는 각 패키지의 유효성을 검사하기 위해 Python 스크립트를 작성해야하며 해당 스크립트를 확인하고 실행하여 유효성을 검사해야합니다. 내가 이해하는대로.
nlper

아니면 하나의 스크립트에 모두 넣습니까?
Ffisegydd

답변:


158

import nltk 파이썬 구문이므로 쉘 스크립트에서 작동하지 않습니다.

의 버전을 테스트하려면 nltk하고 scikit_learn, 당신은 쓸 수 파이썬 스크립트를 실행하십시오. 이러한 스크립트는 다음과 같이 보일 수 있습니다.

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

쉘 스크립트에 대한 @nlper : 유형 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

Anaconda를 사용 하는 경우

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
시도 : $ 핍 목록 | 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
이것은 64 비트 윈도우 8에 파이썬 3.5, NLTK 3.2.2에 나를 위해 일한
롭 멀더

이것은 Python 2.7, Ubuntu 16.04 64 비트의 nltk 3.2.5에서는 작동하지 않았습니다
abggcv

0

다음과 같이 파이썬 노트북 셀에서 확인할 수 있습니다.

!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이 설치된 우분투 14.04 인 내 컴퓨터에서 여기로 이동하면

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

라는 파일이 있습니다

VERSION.

내가 할 경우 cat VERSION그것은 3.1설치된 NLTK 버전 인 인쇄합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.