如何在运行时检查PyPI模块的最新版本?

时间:2019-07-16 21:42:02

标签: python pip

我有一个使用Python制作的简单CLI。每次运行时,我都想检查它是否已更新为最新版本,如果不是,则打印一些信息。

我相信这段代码

import pkg_resources
installed_version = pkg_resources.get_distribution("videocloud").version

应该告诉我安装了哪个版本,但是我找不到找到最新版本的方法。

是否有某种API可以获取最新版本的PyPI模块?

1 个答案:

答案 0 :(得分:0)

我使用999<beautifulsoup4编写了此脚本-因此您需要互联网连接才能运行。

urllib

之所以可行,是因为pypi网站上的标题中包含版本,并且具有html标识符,可让您轻松找到标题。 EG:

pypi website

样品运行:

import bs4 as bs
import urllib.request as request

repo = input('Please enter a repository name: ')

soup = bs.BeautifulSoup(request.urlopen(f'https://pypi.org/project/{repo}/'), 'lxml')

title = []
for item in soup.find_all('h1', {'class': 'package-header__name'}):
    title.append(item.text)

version = title[0].split()[-1]

print(version)

也作为功能:

Please enter a repository name: pyaes
1.6.1