How to check version of aiohttp
如何签入Ubuntu 16.04,安装了哪个版本的aiohtp?
这作品
1 2
| python -V
Python 2.7.12 |
但这不是
1 2
| aiohttp -V
-bash: aiohttp: command not found |
无论模块是如何安装的,对于几乎所有模块都有效的一般方法如下:
1 2
| $ python -c"import aiohttp; print(aiohttp.__version__)"
2.3.3 |
它的作用是运行一个python解释器,导入模块,并打印模块的__version__属性。几乎所有的python库都定义__version__,所以这应该是非常一般的(特别是因为pep8推荐__version__)。
这类似于:
1 2 3 4 5
| $ python
>>> import aiohttp
>>> print(aiohttp.__version)
2.3.3
>>> quit() |
- 回溯(最近调用的最后一个):file"",line 1,inimportError:no module named aiohttp does that mean aiohttp is not installed at all?
- @好极了,是的,的确如此。这要求安装模块。必须使用正确的python解释器。例如,如果默认的python安装是python3,则用python3替换python。
- 我有这个版本的python 2.7.12,我应该如何在您建议的命令行中进行替换?
- @goodthebest aiohtp仅特别支持python 3.x和python 3.5.x(至少是最新的ish版本)。2.7不起作用。您需要一个新的python安装。请看这里。
- 谢谢亚历山大赫斯扎格,谢谢。
如果安装了pip(>=1.3),请使用
对于旧版本,
1
| $ pip freeze | grep aiohttp |
pip freeze的优点是能够正确显示可编辑的VCS签出版本,而pip show没有。
…或
1 2
| $ pip list | grep aiohttp
$ pip list --outdated | grep aiohttp |
(--outdated查看当前和最新版本的软件包)。
学分:查找安装了PIP的软件包的版本
注:__version__房地产很方便,但并不总是可用的。这是一个随着时间而发展的问题。YMMV。
- 我知道__version__并不总是可用的,但自2001年以来,它被强烈推荐给软件包开发人员,并从那时起长期使用。pip于2011年发布,并正确地成为事实上的标准,但它只适用于pip安装的软件包。对于使用python setup.py install从源代码构建的包,这可能不是正确的,即使您也可以使用pip安装这些包。在我看来,我发现__version__至少和pip list | grep一样可靠,特别是因为它不会改变用户对用户的看法。
它不是命令行工具。这就是为什么它说command not found。它是一个pip包。所以,你可以这样做:
1
| pip freeze | grep aiohttp |
找到版本。