난 그냥 파이썬 모듈을 설치 : construct
와 statlib
와 setuptools
같은 :
# Install setuptools to be able to download the following
sudo apt-get install python-setuptools
# Install statlib for lightweight statistical tools
sudo easy_install statlib
# Install construct for packing/unpacking binary data
sudo easy_install construct
프로그래밍 방식으로 버전을 확인할 수 있기를 원합니다. python --version
명령 줄에서 실행할 수 있는 것과 동등한 것이 있습니까?
내 파이썬 버전은 2.7.3
입니다.
답변
easy_install 대신 pip를 사용하는 것이 좋습니다 . pip를 사용하면 설치된 모든 패키지와 해당 버전을
pip freeze
대부분의 리눅스 시스템에서 이것을 파이프 grep
(또는 findstr
Windows)로 파이프 하여 원하는 특정 패키지의 행을 찾을 수 있습니다.
Linux:
$ pip freeze | grep lxml
lxml==2.3
Windows:
c:\> pip freeze | findstr lxml
lxml==2.3
개별 모듈의 경우 __version__
attribute를 시도 할 수 있지만없는 모듈이 있습니다.
$ python -c "import requests; print(requests.__version__)"
2.14.2
$ python -c "import lxml; print(lxml.__version__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute '__version__'
마지막으로 질문의 명령 앞에 접두사가 붙으면 sudo
전역 파이썬 환경에 설치하는 것처럼 보입니다. python 가상 환경 관리자 (예 : virtualenvwrapper)를 살펴 보는 것이 좋습니다.
답변
당신은 시도 할 수 있습니다
>>> import statlib
>>> print statlib.__version__
>>> import construct
>>> print contruct.__version__
답변
라이브러리 pkg_resources
와 함께 배포 된 모듈을 사용하십시오 setuptools
. get_distribution
메소드에 전달하는 문자열 은 PyPI 항목과 일치해야합니다.
>>> import pkg_resources
>>> pkg_resources.get_distribution("construct").version
'2.5.2'
명령 줄에서 실행하려면 다음을 수행하십시오.
python -c "import pkg_resources; print(pkg_resources.get_distribution('construct').version)"
get_distribution
메소드에 전달하는 문자열은 가져 오려는 모듈 이름이 아니라 PyPI에 등록 된 패키지 이름이어야합니다.
불행히도 이것들은 항상 동일하지는 않습니다 (예를 들어 pip install memcached
, import memcache
).
답변
이것이 도움이 될 수 있지만 먼저 show
패키지를 설치 pip show
한 다음 show를 사용하여 버전을 찾으십시오!
sudo pip install show
# in order to get package version execute the below command
sudo pip show YOUR_PACKAGE_NAME | grep Version
답변
더 좋은 방법은 다음과 같습니다.
특정 패키지에 대한 자세한 내용
pip show <package_name>
Package_name, Version, Author, Location 등을 자세히 설명합니다.
$ pip show numpy
Name: numpy
Version: 1.13.3
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: numpy-discussion@python.org
License: BSD
Location: c:\users\prowinjvm\appdata\local\programs\python\python36\lib\site-packages
Requires:
자세한 사항은: >>> pip help
pip
이렇게하려면 업데이트해야합니다.
pip install --upgrade pip
Windows에서 권장되는 명령은 다음과 같습니다.
python -m pip install --upgrade pip
답변
python3에서 인쇄 주위에 괄호가 있음
>>> import celery
>>> print(celery.__version__)
3.1.14
답변
module.__version__
시도하는 것이 가장 좋은 방법이지만 항상 작동하지는 않습니다.
껍질을 벗기고 싶지 않고 pip 8 또는 9를 사용 pip.get_installed_distributions()
하는 경우 에도 Python 내에서 버전을 가져올 수 있습니다.
: 업데이트 솔루션은 여기 핍 8, 9에서 작동하지만, PIP (10)의 기능에서 이동되었습니다 pip.get_installed_distributions
에 pip._internal.utils.misc.get_installed_distributions
명시 적으로는 외부 사용을 위해 아니다 나타냅니다. pip 10+를 사용하는 경우 그것에 의존하는 것은 좋지 않습니다.
import pip
pip.get_installed_distributions() # -> [distribute 0.6.16 (...), ...]
[
pkg.key + ': ' + pkg.version
for pkg in pip.get_installed_distributions()
if pkg.key in ['setuptools', 'statlib', 'construct']
] # -> nicely filtered list of ['setuptools: 3.3', ...]