猿问

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

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


在我的本地机器上我可以使用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'


慕的地10843
浏览 112回答 1
1回答

慕码人8056858

我能够让它工作,也不需要使用gzip。with tempfile.NamedTemporaryFile(mode='w+b', suffix='.tar.gz', delete=False) as f:    f.write(r.content)    f.seek(0)    file_ = f.namepkg_info = SDist(file_)os.remove(file_)
随时随地看视频慕课网APP

相关分类

Python
我要回答