如何查看 aiohttp 的版本
Posted
技术标签:
【中文标题】如何查看 aiohttp 的版本【英文标题】:How to check version of aiohttp 【发布时间】:2018-08-27 12:30:21 【问题描述】:如何在 Ubuntu 16.04 中查看安装了哪个版本的 aiohttp?
这行得通
python -V
Python 2.7.12
但这不是
aiohttp -V
-bash: aiohttp: command not found
【问题讨论】:
【参考方案1】:它不是命令行工具。这就是为什么它说command not found
。这是一个pip
包。所以,你可以这样做:
pip freeze | grep aiohttp
查找版本。
【讨论】:
【参考方案2】:如果您使用pip
(>= 1.3) 安装它,请使用
$ pip show aiohttp
对于旧版本,
$ pip freeze | grep aiohttp
pip freeze
的优点是它可以正确显示可编辑的 VCS 检出版本,而 pip show
则不能。
... 或
$ pip list | grep aiohttp
$ pip list --outdated | grep aiohttp
(--outdated
查看软件包的当前和最新版本)。
致谢:Find which version of package is installed with pip
注意:属性__version__
派上用场,但it is not always available。这是一个随着时间演变的问题。 YMMV。
【讨论】:
我知道__version__
并不总是可用,但自 2001 年以来一直强烈建议打包开发人员使用它,并且从那时起一直在长期使用。 pip
于 2011 年发布,理所当然地成为事实上的标准,但它仅适用于 pip
安装的软件包。对于使用python setup.py install
从源代码构建的软件包,这可能不是真的,即使您也可以使用 pip 安装这些软件包。 IMO,我发现 __version__
至少和 pip list | grep
一样可靠,尤其是因为它不会因用户而异。【参考方案3】:
一种适用于几乎任何模块的通用方法,无论它是如何安装的:
$ python -c "import aiohttp; print(aiohttp.__version__)"
2.3.3
它的作用是运行 Python 解释器,导入模块,然后打印模块的 __version__
属性。几乎所有 Python 库都定义了__version__
,所以这应该是非常通用的(尤其是__version__
是PEP8 推荐的)。
这类似于:
$ python
>>> import aiohttp
>>> print(aiohttp.__version)
2.3.3
>>> quit()
【讨论】:
Traceback(最近一次调用最后一次):文件“python3
,请将 python
替换为 python3
。
我有这个版本的 Python 2.7.12 ,我应该如何在你建议的命令行中替换?
@GoodtheBest aiohttp 仅支持 Python 3.x、Python 3.5.x (至少对于最近的版本)。 2.7 不行。你需要一个新的 Python 安装。见here。
感谢 Alexander Huszagh。以上是关于如何查看 aiohttp 的版本的主要内容,如果未能解决你的问题,请参考以下文章