docker-compose: ValueError: неправильные данные маршала (код неизвестного типа)

avatar
Simon L
9 августа 2021 в 06:47
116
1
-2

Моя установка работала нормально, но по какой-то причине docker-compose --help теперь дает:

Traceback (most recent call last):
  File "/usr/local/bin/docker-compose", line 7, in <module>
    from compose.cli.main import main
  File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 14, in <module>
    from inspect import getdoc
ValueError: bad marshal data (unknown type code)
Источник
kishore
9 августа 2021 в 06:48
1

пожалуйста, добавьте суть вашего кода, чтобы люди хорошо понимали проблему.

Simon L
9 августа 2021 в 07:22
0

@kishore Я не запускаю никакого кода, вывод, который я разместил в своем вопросе, — это полный вывод, который я получаю при выполнении docker-compose --help; в любом случае, я уже исправил проблему, но мне пришлось довольно долго искать, поэтому я хотел, чтобы другим людям с такой же проблемой было легче найти решение.

Ответы (1)

avatar
Simon L
9 августа 2021 в 06:47
0

find /usr -name '*.pyc' -delete исправил проблему.

Если вы получили эту ошибку, возможно, скомпилированная версия модуля Python (файл .pyc) повреждена. Gentoo Linux предоставляет python-updater, но в Debian исправить проще: просто удалите файл .pyc. Если вы не знаете pyc, просто удалите их все (как root):

(ссылка: https://www.py4u.net/discuss/17141)

Mous
9 августа 2021 в 07:09
0

Вдобавок к этому основная проблема заключается в том, что файл pyc устарел или поврежден, поскольку Python внутренне использует marshal для создания части файлов .pyc из CodeObject, и если marshal не может прочитать тип, он выдаст ValueError: bad marshal data (unknown type code).