如何检查python模块的版本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (10)
  • 关注 (0)
  • 查看 (109)

我刚刚安装了python模块:constructstatlib 使用了 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的命令?

我的python版本是2.7.3...

提问于
用户回答回答于

我建议用pip来进行安装

pip freeze

对于一个单独的模块来说,你可以调用__version__但是,有些模块没有它:

$ pip freeze | grep lxml
lxml==2.3
$ 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__'
用户回答回答于

更好的办法是:

有关特定包的详细信息

pip show <package_name>

它详细说明了包名姓名、版本、作者、地点等。

$ 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

用户回答回答于

你可以看看 __version__的属性,所以最简单的方法是写入终端:pip list

用户回答回答于

在python中,你可以使用下面的代码

import modulename

modulename.version
modulename.version_info

注意,.version 的效果还是不错的

用户回答回答于

module.__version__还不错

如果您想在Python内部获得版本(不想退出),请尝试pip.get_installed_distributions()*

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', ...]
用户回答回答于

下面的代码可以实现

import sys 
for name, module in sorted(sys.modules.items()): 
  if hasattr(module, '__version__'): 
    print name, module.__version__ 
用户回答回答于

在python 3中,打印前后有括号

>>> import celery
>>> print(celery.__version__)
3.1.14
用户回答回答于

你可以先安装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
用户回答回答于

使用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"
用户回答回答于

你可以试试

>>> import statlib
>>> print statlib.__version__

>>> import construct
>>> print contruct.__version__

扫码关注云+社区

领取腾讯云代金券