繁体   English   中英

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

[英]Python get package metadata from source distribution on pypiserver?

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

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

这将给我元数据。

但是,我在使用请求从文件流中读取时遇到问题吗?

我努力了

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'

感谢yorodm

我能够使它工作,也不需要使用gzip。

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_)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM