Сценарий .../bin/meld
в основном используется для справки. Вы должны установить
git config mergetool.meld.path "C:/Program Files (x86)/Meld/Meld.exe"
Вам не нужно использовать нотацию Progra~2
, если вы действительно не хотите этого по какой-то причине.
Единственная проблема, с которой я сталкиваюсь, заключается в том, что он неправильно подбирает установленные расширения зависимостей в C:/Program Files (x86)/Meld/lib
. Вам нужно добавить C:/Program Files (x86)/Meld/lib
к переменной среды PATH
либо с помощью SET PATH=C:/Program Files (x86)/Meld/lib;%PATH%
, либо через «Редактировать переменные среды для вашей учетной записи» где-нибудь в панели управления/меню «Пуск».
Альтернативный подход
Если вы откроете C:\Program Files (x86)\Meld\bin\meld
в текстовом редакторе, вы увидите, что это сценарий оболочки, предназначенный для запуска в python3
(скорее всего, вызывается из C:\Program Files\Git\bin\sh.exe
).
Первая строка meld
гласит:
#!C:/msys64/MINGW32/bin/python3.exe
Эта проблема не возникает при использовании Meld.exe
, потому что он не использует скрипт через интерпретатор Python.
Маловероятно, что интерпретатор Python установлен в этом месте на вашем компьютере. Вместо этого вы можете заменить строку shebang, чтобы она указывала на существующий интерпретатор. Например, на моей машине meld
начинается с:
#!C:/Users/MadPhysicist/AppData/Local/Continuum/anaconda3/python.exe
Этого по-прежнему будет недостаточно для того, чтобы скрипт нашел пакет meld
и все установленные библиотеки GTK, cairo и т. д., поэтому вам нужно настроить пути как python, так и системные. Вставьте следующее перед строкой import meld # noqua: E402
(строка ~78):
os.environ['PATH'] = os.pathsep.join((melddir, os.path.join(melddir, 'lib'), os.environ['PATH']))
sys.path[0:0] = [os.path.join(melddir, 'lib/python3.7/site-packages')]
Мне никогда не удавалось заставить первую строку правильно настроить Cairo, GTK и т. д. для meld
. Однако вы можете пропустить первую строку и просто установить пакеты с помощью conda или pip. Вам все равно нужно будет вставить пакет meld в sys.path
.
Имейте в виду, что meld
скомпилирован в 32 бита, о чем свидетельствует x86
в папке установки. Вы можете запустить его только с 32-битным интерпретатором Python, если вы используете прилагаемые библиотеки DLL, которые могут потребовать дополнительной установки. Вам не нужен 32-битный интерпретатор, если ваша среда уже содержит все необходимые пакеты.
person
Mad Physicist
schedule
27.09.2019