web-dev-qa-db-ja.com

Google colabファイルのダウンロードでエラーを取得できませんでした

私はgoogle colabを使用して辞書を作成し、それをjsonファイルにダンプして、次のコードでラップトップにファイルをダウンロードしました。

from google.colab import files
import json

dict = {'Apple': 'fruit', 'mango': 'fruit', 'carrot': 'vegetable', 'brocoli': 'vegetable', 'cat': 'animal'}

with open('sampleDictionary.json', 'w') as f:
  json.dump(dict, f)

files.download('sampleDictionary.json')
f.close()

このコードを実行しようとすると、次のエラーが発生します。

MessageError                              Traceback (most recent call last)
<ipython-input-29-1251d71a0a36> in <module>()
      7   json.dump(dict, f)
      8 
----> 9 files.download('sampleDictionary.json')
     10 f.close()

/usr/local/lib/python3.6/dist-packages/google/colab/files.py in download(filename)
    176       'port': port,
    177       'path': _os.path.abspath(filename),
--> 178       'name': _os.path.basename(filename),
    179   })

/usr/local/lib/python3.6/dist-packages/google/colab/output/_js.py in eval_js(script, ignore_result)
     37   if ignore_result:
     38     return
---> 39   return _message.read_reply_from_input(request_id)
     40 
     41 

/usr/local/lib/python3.6/dist-packages/google/colab/_message.py in read_reply_from_input(message_id, timeout_sec)
    104         reply.get('colab_msg_id') == message_id):
    105       if 'error' in reply:
--> 106         raise MessageError(reply['error'])
    107       return reply.get('data', None)
    108 

MessageError: TypeError: Failed to fetch

ここをクリックして、コードとエラーのスクリーンショットを確認してください

私を助けてください

7
Suraj S Jain

third-party cookiesを有効にする必要がありますが、現時点ではChromeブラウザでのみ機能し、

chrome://settings/content/cookies

Block third-party cookiesのオプションが無効になっていることを確認し、addセクションのAllowボタンをクリックして追加します

colab.research.google.com
2
ewwink

ewwinkのcookieソリューション は機能します。

ただし、Cookieを設定しても、長時間放置すると、コラボノートブックが自動的に切断されると、別の問題になる可能性があります。 (たとえば、一連のコードブロックを実行すると、files.downloadが実行されるまでに長い時間がかかります)

その場合は、代わりにGoogleドライブをマウントする(medchikの回答を参照)ことが、実現可能な代替手段になる可能性があります。

0
Jokerkeny

Colabの使用中に同じ問題(MessageError:TypeError:Failed to fetch)が発生しました。

次に、colabノートブックでファイル操作を異なるコード単位に分割します。ファイルを1つのコード単位で開いたり、書き込んだり、閉じたり、後続のコード単位でfiles.download()を使用したりします。

0
Sami Belkacem