如何使用命令行检查任何包的安装和版本?

How to check installation and version using command line for any package?

就像我想检查python版本一样,我会这样做:

python -V

但是为了检查 nltk 版本,nltk -V 将不起作用。我必须做的:

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

是否有任何通用的方法来检查是否安装了特定的 软件包或库 x,如果安装了则获取相同的版本号。

没有。没有通用的方法来检查是否安装了特定的包或库 x,或者获取相同的版本号。您必须研究每个包或库的方法。

正如@lesmana 所说,没有标准方法。您可以尝试几种不同的选择,但仍然不能保证成功:

import module_name

version = getattr(module, 'VERSION',
    getattr(module, 'version',
        getattr(module, '__version__', None)

对于这样的东西,也许更好看,你可以尝试最常见的变体:VERSION、version、versionVERSION .

如果你安装了pip,你可以使用

pip freeze

这列出了与其版本一起安装的所有软件包。如果你没有安装 pip,你应该。