Я пытался использовать запросы v2.19.1 в python 3.6.5 для загрузки файла размером ~ 2 ГБ с удаленного URL-адреса.Однако я неоднократно сталкивался с этой проблемой, когда код, кажется, навсегда застревал в цикле for
при попытке загрузить данные.
Мой фрагмент кода:
with requests.get(self.model_url, stream=True, headers=headers) as response:
if response.status_code not in [200, 201]:
raise Exception(
'Error downloading model({}). Got response code {} with content {}'.format(
self.model_id,
response.status_code,
response.content
)
)
with open(self.download_path, 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
КаждыйКогда я пытаюсь запустить этот код, загрузка останавливается в разные моменты и редко достигает завершения.Я пытался поиграть с разными размерами чанка, но я все еще вижу эту проблему.
Некоторые дополнительные детали:
python -m requests.help
{
"chardet": {
"version": "3.0.4"
},
"cryptography": {
"version": "2.3.1"
},
"idna": {
"version": "2.7"
},
"implementation": {
"name": "CPython",
"version": "3.6.5"
},
"platform": {
"release": "3.10.0-693.11.1.el7.x86_64",
"system": "Linux"
},
"pyOpenSSL": {
"openssl_version": "1010009f",
"version": "18.0.0"
},
"requests": {
"version": "2.19.1"
},
"system_ssl": {
"version": "100020bf"
},
"urllib3": {
"version": "1.23"
},
"using_pyopenssl": true
}
Кто-нибудь еще сталкивался с подобной проблемой?Если да, то как вы решили это?