Code: Select all
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
Dieser Fehler tritt auf, weil das aufgerufene spezifische Skript ausgeführt wird python3.11.
Meine Frage ist, gibt es eine Möglichkeit, die Version für CommandLineTools richtig zu ändern, um 3.11 zu verwenden? Technisch gesehen habe ich eine Lösung, bei der ich einfach den Ordner 3.11 in den Ordner ../../Versions kopiere und es funktioniert. Für mich ist das keine gute Lösung, da ich das für mehrere Systeme machen müsste. Gibt es einen anderen Weg, dies zu umgehen? Und warum verwendet System.Diagnostics nicht den Standard-Python-Interpreter des Systems?
BEARBEITEN: Ich habe erfahren, dass /Library/Developer/CommandLineTools von Xcode stammt. Aber wie bringe ich mein C#-Programm dazu, usr/bin/python3 anstelle von ../CommandLineTools