有没有办法使用脚本从 pypi 下载源代码?
Is there a way to download the source from pypi using a script?
通过浏览器访问 pypi 上提供的链接(例如:https://pypi.python.org/packages/source/p/py-web-search/py-web-search-0.2.1.tar.gz#md5=4e2f7363acdc1e7c08629edfa7996a5a),我们可以下载源代码。
有没有办法从脚本中做到这一点?
到目前为止我有这个:
import requests
s = requests.get('https://pypi.python.org/packages/source/p/py-web-search/py-web-search-0.2.1.tar.gz#md5=4e2f7363acdc1e7c08629edfa7996a5a')
with open('pws.tar.gz', 'w') as fp:
fp.write(s.text)
注意:以二进制模式打开文件会导致此错误TypeError: 'str' does not support the buffer interface
当我使用存档管理器打开 tar 文件时,它提示加载存档时出错。
我尝试打印 s.text,然后将输出重定向到 pws.tar.gz,但没有任何区别。
This post 似乎认为它可以在二进制模式下打开它,使用 write(bytes(s.text, 'UTF-8'))
也可以。
它是可选的(如果你想下载一个非常大的文件,那么你可以打开它)stream=True
import requests
s = requests.get('https://pypi.python.org/packages/source/p/py-web-search/py-web-search-0.2.1.tar.gz#md5=4e2f7363acdc1e7c08629edfa7996a5a',stream=True)
with open('pws.tar.gz', 'wb') as fp:
for chunk in s.iter_content():
if chunk:
fp.write(chunk)
fp.flush()
通过浏览器访问 pypi 上提供的链接(例如:https://pypi.python.org/packages/source/p/py-web-search/py-web-search-0.2.1.tar.gz#md5=4e2f7363acdc1e7c08629edfa7996a5a),我们可以下载源代码。 有没有办法从脚本中做到这一点?
到目前为止我有这个:
import requests
s = requests.get('https://pypi.python.org/packages/source/p/py-web-search/py-web-search-0.2.1.tar.gz#md5=4e2f7363acdc1e7c08629edfa7996a5a')
with open('pws.tar.gz', 'w') as fp:
fp.write(s.text)
注意:以二进制模式打开文件会导致此错误TypeError: 'str' does not support the buffer interface
当我使用存档管理器打开 tar 文件时,它提示加载存档时出错。
我尝试打印 s.text,然后将输出重定向到 pws.tar.gz,但没有任何区别。
This post 似乎认为它可以在二进制模式下打开它,使用 write(bytes(s.text, 'UTF-8'))
也可以。
它是可选的(如果你想下载一个非常大的文件,那么你可以打开它)stream=True
import requests
s = requests.get('https://pypi.python.org/packages/source/p/py-web-search/py-web-search-0.2.1.tar.gz#md5=4e2f7363acdc1e7c08629edfa7996a5a',stream=True)
with open('pws.tar.gz', 'wb') as fp:
for chunk in s.iter_content():
if chunk:
fp.write(chunk)
fp.flush()