首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python从pypiserver上的源分发中获取包元数据?

Python从pypiserver上的源分发中获取包元数据?
EN

Stack Overflow用户
提问于 2018-10-29 20:44:53
回答 1查看 141关注 0票数 0

如何从我从本地pypi服务器提取的tar.gz文件读取包元数据?

在本地机器上,我可以使用pkginfo并运行mypackage = SDist('docs/examples/mypackage-0.1.tar.gz')

这将给我元数据。

但是,我在使用请求读取文件流时遇到了困难吗?

我试过了

代码语言:javascript
复制
with tempfile.NamedTemporaryFile(mode='w+b', suffix='.tar.gz') as fp:
    fp.write(r.content)
    fp.seek(0)
    gzf = gzip.GzipFile(mode='wb', fileobj=fp)
    print(gzf.name)
    pgkfoo = SDist(filename=gzf.name)

打印状态输出C:\Users\my_user_acct\AppData\Local\Temp\2\tmpz2v7vcen.tar.gz

但是,我不断地获得一个PermissionError: [Errno 13] Permission denied: 'C:\\Users\\my_user_acct\\AppData\\Local\\Temp\\2\\tmpz2v7vcen.tar.gz',我检查并能够在该目录中读取/写入文件。

也是r.url='http://localhost:8080/packages/model_bar-0.1.tar.gz#md5=e6da10bef8626a4e3dcf358fe4787a8c'

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 23:06:53

多亏了yorodm

我可以让这个工作,也不需要使用gzip。

代码语言:javascript
复制
with tempfile.NamedTemporaryFile(mode='w+b', suffix='.tar.gz', delete=False) as f:
    f.write(r.content)
    f.seek(0)
    file_ = f.name
pkg_info = SDist(file_)
os.remove(file_)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53053534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档