Когда вы говорите «push to my repo», я предполагаю, что вы используете команду gsutil rsync
, в основном из-за получаемого вами сообщения об ошибке, которое приходит из этой строки кода:
https://github.com/GoogleCloudPlatform/gsutil/blob/65d6a3e30e2ad51279841a8b58008a5396568ddd/gslib/commands/rsync.py#L645
Взглянув на код, я не уверен, почему gsutil пытается использовать кодек ASCII. Мои две лучшие догадки:
- Может быть, вы используете старую версию gsutil, в которой есть ошибки кодирования? Вы можете запустить
gsutil version
для проверки.
- Может быть, вы запускаете это в терминале / среде, которая использует ASCII (или что-то, что не поддерживает символы Юникода) в качестве кодировки по умолчанию? Из команды
find
я предполагаю, что вы работаете в системе Linux или macOS - если это так, из вашей оболочки вы можете проверить, что Python считает кодировкой по умолчанию:
$ python -c "import locale; print(locale.getdefaultlocale())"
Это излучается в моем терминале, который использует UTF-8 в качестве кодировки по умолчанию:
('en_US', 'UTF-8')
Наконец, если это не поможет, вы, вероятно, захотите получить немного больше информации, чем просто сводный текст, показанный в вашем сообщении об ошибке - вы можете попробовать добавить несколько дополнительных операторов print
рядом со строкой, которую я связал. выше, в вашей локальной установке gsutil (в файле <path-to-gsutil>/gslib/commands/rsync.py
). В идеале вам нужно просмотреть трассировку всего стека, чтобы увидеть, откуда возникла ошибка, поэтому было бы полезно добавить что-то вроде print(traceback.format_exc())
в тело этого блока except:
.