У меня проблема почти такая же, как у этого парня
https://github.com/GoogleCloudPlatform/gcsfuse/issues/288
, за исключением того, что, когда они решили проблему, они не дали достаточно подробностей, чтобы его решение. У меня есть смонтированное хранилище на экземпляре виртуальной машины gcloud, но я не могу записать файл в хранилище. Кажется, моя проблема в том, что я не предоставил Google свои учетные данные для аутентификации. Я попытался переместить учетные данные, которые я использовал на своем Ma c, на компьютер Linux, но это до сих пор не повлияло. Вот точный синтаксис:
str1 = "/home/kylefoley/byu_corpus_small/codes/My_Project_999.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = str1
key = "9999"
Я успешно смонтировал хранилище с помощью gcsfuse и могу читать файлы из него, но когда я пытаюсь записать файлы в него, я получаю следующую ошибку:
Traceback (most recent call last):
File "build_index.py", line 638, in <module>
determine_fork()
File "build_index.py", line 635, in determine_fork
main_fork(make_changes, len(rem_files), **kwargs)
File "build_index.py", line 590, in main_fork
save_iweb_pickle(dct, 'done_forks')
File "/home/kylefoley/byu_corpus_small/code/byu_globals.py", line 27, in save_iweb_pickle
pi.save_pickle(obj, name, 1)
File "/home/kylefoley/byu_corpus_small/code/pickling.py", line 55, in save_pickle
temp = open(name, "wb")
OSError: [Errno 5] Input/output error: '/mnt/disks/temp_dir/fix_mistakes/done_forks.pkl'
Вышеупомянутый автор решил проблему с
Мои извинения. Вы правы. Я неправильно понял, как работает аутентификация. Как только я использовал gcloud auth login, все заработало как положено.
Но я не могу понять, что он имеет в виду. Я думаю, что это как-то связано с этим модулем:
from oauth2client.client import GoogleCredentials
Но я не могу понять, что делать с этим модулем. Кстати, моя точка монтирования:
/mnt/disks/temp_dir/