Код: Выделить всё
Process.StartInfo = new ProcessStartInfo()
{
FileName = @"/usr/bin/python3",
Arguments = $@"{cmd} {args}", // cmd is the python script path
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = false
};
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework /Versions/3.9/lib/python3.9/runpy.py
Эта ошибка возникает, потому что этот конкретный вызываемый скрипт выполняется python3.11.
Мой вопрос: есть ли способ правильно изменить версию CommandLineTools для использования 3.11? Технически у меня есть решение: я просто копирую папку 3.11 в папку ../../Versions, и все работает. Для меня это не лучшее решение, потому что мне придется делать это для нескольких систем. Есть ли другой способ обойти это? И почему System.Diagnostics не использует системный интерпретатор Python по умолчанию?
РЕДАКТИРОВАТЬ: Я узнал, что /Library/Developer/CommandLineTools происходит из Xcode. Но как мне заставить мою программу на C# использовать usr/bin/python3 вместо ../CommandLineTools
Подробнее здесь: https://stackoverflow.com/questions/793 ... -of-python