Я не могу найти ссылку прямо сейчас, но я полагаю, что многое из этого взято из Moby Project Грэди Уорда
кажется, что meld жестко закодирован в python3.6
https://cygwin.com/packages/x86_64/meld/meld-3.18.0-1
Но по умолчанию указано 3.8
$ alternatives --display python3
python3 - status is auto.
link currently points to /usr/bin/python3.8
/usr/bin/python3.8 - priority 38
/usr/bin/python3.6 - priority 36
/usr/bin/python3.7 - priority 37
Current `best' version is /usr/bin/python3.8.
Попробуйте установить значение 3,6
$ alternatives --config python3
There are 3 programs which provide 'python3'.
Selection Command
-----------------------------------------------
*+ 1 /usr/bin/python3.8
2 /usr/bin/python3.6
3 /usr/bin/python3.7
Enter to keep the current selection[+], or type selection number: 2
и снова протестируйте слияние
Как указывает @matzeri, кажется, что meld жестко -закодирован для python 3.6 -, в то время как Cygwin64 по состоянию на сентябрь 2021 года использует Python 3.8 в качестве альтернативы по умолчанию для python3.
Теперь я не хочу менять настройки по умолчанию для всех приложений, но -мы все еще можем обязать сам процесс объединения вручную:
/usr/bin/meld
в/usr/local/bin/meld
/usr/local/bin/meld
заменить:#!/usr/bin/python3
с:
#!/usr/bin/python3.6
это, по крайней мере, решит проблему отсутствия модуля -, хотя вы можете столкнуться с другими проблемами .
Помните, что у вас есть локальная версия, которую нужно удалить/обновить при следующем обновлении самого объединения!
Изменить:Если вы столкнулись с этой проблемой в другом дистрибутиве Linux, прямая проблема заключается в том, что подкаталог meld не найден в пути поиска пакетов python. Итак, предположим, что meld запускается версией Python N.M, вы, вероятно, пропустите
/usr/lib/pythonN.M/site-packages/meld/
или подкаталог слияния в том месте, где python хранит свои «пакеты сайта -». Иногда это можно решить с помощью жесткого -объединения кодов для использования другой версии Python -, но только если эта версия имеет соответствующую папку пакетов -на сайте объединения. В противном случае вам потребуется переустановить или установить meld вручную, убедившись, что подкаталог установлен на место.