可以在发布特定版本的软件包时进行搜索吗?

傻胖猫

是否可以在将特定包裹推入Pypi时进行搜索?

pip search foo==0.17 
foo (0.17) {SOME DATE}     
pip search foo==0.18 
foo (0.18) {SOME OTHER DATE}     

我可以在Pypi的页面上看到发布历史,但是可以通过pip获得吗?我不想看到版本号,我想要发布日期。

卡费尔斯

对的,这是可能的。PyPI有一个API,其中所有包信息均为JSON格式。

例: https://pypi.org/pypi/{YOUR_PACKAGE}/json

import json
import requests


def search(package_name, version):
    url = 'https://pypi.org/pypi/%s/json' % package_name
    response = requests.request('GET', url)
    if response.ok:
        json_response = json.loads(response.content)
        uploads = json_response['releases'][version]
        for upload in uploads:
            print('upload date %s | filename = %s' % (upload['upload_time'], upload['filename']))


search('pandas', '0.24.2')

输出:

upload date 2019-03-14T10:10:10 | filename = pandas-0.24.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
upload date 2019-03-14T10:10:34 | filename = pandas-0.24.2-cp27-cp27mu-manylinux1_i686.whl
upload date 2019-03-14T10:10:39 | filename = pandas-0.24.2-cp27-cp27mu-manylinux1_x86_64.whl
upload date 2019-03-14T10:10:44 | filename = pandas-0.24.2-cp27-cp27m-win32.whl
upload date 2019-03-14T10:10:49 | filename = pandas-0.24.2-cp27-cp27m-win_amd64.whl
upload date 2019-03-14T10:10:55 | filename = pandas-0.24.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
upload date 2019-03-14T10:11:00 | filename = pandas-0.24.2-cp35-cp35m-manylinux1_i686.whl
upload date 2019-03-14T10:11:05 | filename = pandas-0.24.2-cp35-cp35m-manylinux1_x86_64.whl
upload date 2019-03-14T10:11:11 | filename = pandas-0.24.2-cp35-cp35m-win32.whl
upload date 2019-03-14T10:11:15 | filename = pandas-0.24.2-cp35-cp35m-win_amd64.whl
upload date 2019-03-14T10:11:21 | filename = pandas-0.24.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
upload date 2019-03-14T10:12:12 | filename = pandas-0.24.2-cp36-cp36m-manylinux1_i686.whl
upload date 2019-03-14T10:12:18 | filename = pandas-0.24.2-cp36-cp36m-manylinux1_x86_64.whl
upload date 2019-03-14T10:12:23 | filename = pandas-0.24.2-cp36-cp36m-win32.whl
upload date 2019-03-14T10:12:27 | filename = pandas-0.24.2-cp36-cp36m-win_amd64.whl
upload date 2019-03-14T10:12:33 | filename = pandas-0.24.2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
upload date 2019-03-14T10:12:38 | filename = pandas-0.24.2-cp37-cp37m-manylinux1_x86_64.whl
upload date 2019-03-14T10:12:43 | filename = pandas-0.24.2-cp37-cp37m-win32.whl
upload date 2019-03-14T10:12:47 | filename = pandas-0.24.2-cp37-cp37m-win_amd64.whl
upload date 2019-03-14T10:12:53 | filename = pandas-0.24.2.tar.gz

希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

发布时,我可以将“ link:../ dir”替换为要链接的软件包的版本吗?

AppVeyor可以仅针对特定分支机构自动发布nuget软件包吗?

我可以只安装来自特定CentOS发行版介质的软件包的版本吗?

解决软件包版本时,可以强制使用依赖项的Cargo.lock吗?

我可以配置apt以在安装确认时显示软件包版本吗?

在Anaconda中可以使用PIP时,可以从特定渠道安装软件包吗?

可以在Anaconda中锁定软件包的版本吗?

是否可以设置软件包的特定版本,哪个主要软件包取决于?

我可以使用版本限定符在OSGi中要求特定的软件包版本吗?

安装软件包时,我可以授予对特定文件的写入权限吗?

发布NPM软件包的开发版本

确定特定软件包的版本

安装特定版本的debian软件包

如何安装特定的软件包版本

如何从CI构建管道发布NPM软件包并仍然自动进行版本控制?

如何获取在特定日期之前发布的python软件包的版本号列表?

发布新版本的软件包时获取电子邮件通知

在npm中发布软件包的新版本时出错

如何使用JFrog CLI按版本号对Artifactory软件包搜索结果进行排序?

是否可以对我的软件包未导入特定软件包进行单元测试?

我可以在发布前检查npm软件包的内容吗?

我可以发布私有的NuGet软件包吗?

Python 3.5刚刚发布,我可以作为Ubuntu 15.4的软件包获得吗?

npm脚本可以使用Github API将软件包发布到Github吗?

您可以为前端JavaScript文件发布npm软件包吗?

OSGi捆绑软件或软件包可以依赖于另一个捆绑软件或软件包的多个版本吗?

可以仅使用pnpm的一个软件包版本吗?

我可以以某种方式使用比指定软件包更高版本的base吗?

我可以在不同的环境中使用不同版本的软件包吗?