Verknüpfen von Python als externes Build-Tool in Xcode 7 El Capitan

Ich verwende seit einiger Zeit Xcode 7 als meinen Standard-Python-Editor. Die übliche Methode zum Ausführen von Python von Xcode ist hier angegeben https://stackoverflow.com/questions/5276967/python-in-xcode-7/8636301#8636301 .

Aber mit der neuen Version von El Capitan (OS X 10.11) ist das Verzeichnis /usr/local/bin/ gesperrt und in dem Schritt in "Schema bearbeiten > Info > Ausführbare Datei", wo die ausführbare Datei aus einem Popup ausgewählt werden muss Fenster, da das SIP erzwungen wird, ist dies nicht möglich. Ich besitze bereits /usr/local/, aber das hat nicht geholfen. Es ist erwähnenswert, dass dieses Problem nicht spezifisch für die Python-Version sein sollte.

Kann jemand einen Workaround dafür vorschlagen?

Ich weiß, dass ich Vorschläge zur Verwendung anderer Editoren und Engines wie Eclipse und Canopy erhalten werde, aber nein danke (natürlich keine Beleidigung für Eclipse oder Enthought).

Ich dachte, /usr/local würde nicht von SIP abgedeckt
Danke @Markus. Es sieht so aus, als ob /usr/local/ nicht von SIP abgedeckt werden soll, aber die Auswahl der ausführbaren Datei ist immer noch nicht möglich, obwohl ich die /usr/local/ besitze und die Berechtigungen lrwxr-xr-x sind. Irgendeine Idee, was schief laufen könnte?
Ich bin auch sehr an der Lösung interessiert, ich habe aufgrund von MySQL-Problemen noch kein Upgrade auf El Capitan durchgeführt, aber es ist auch ein Problem, Python in XCode nicht mehr verwenden zu können.
@Ewald: Du könntest möglicherweise alles gut laufen lassen, indem du das SIP deaktivierst, was dem SELinux ähnlich ist. Mir wurde klar, dass das SIP definitiv nicht einmal die Verbindung mit dem nativen Python (2.7) zulässt. Folgendes habe ich beim Debuggen mit dem nativen Python auf Xcode erhalten: Nachricht vom Debugger: kann aufgrund des Systemintegritätsschutzes nicht an den Prozess angehängt werden
Dieses "möglicherweise" hält mich vom Upgrade ab. Ein Kollege hat aktualisiert und jetzt ist sein MySQL ganz kaputt, ich kann das mit meiner Entwicklungsmaschine einfach nicht riskieren. Keine Arbeit ist für mich gleichbedeutend mit keiner Bezahlung, also werde ich geduldig warten - zumindest habe ich noch meinen Windows-Laptop und die Python-Entwicklung funktioniert großartig darauf!
@Ewald: Wie ich bereits in meinem Kommentar erwähnt habe, brauchst du SIP nicht wirklich, wenn du deinen Mac für die Entwicklung verwendest. SIP ist dem SELinux sehr ähnlich. Und für die Entwicklung benötigen Sie oft die vollständige Kontrolle über Ihre Maschine. Ich würde mich nicht viel um SIP auf einem Unix-Rechner kümmern (ja, OS X ist Unix-basiert), es sei denn, Sie betreiben einen Server auf dem Rechner und möchten mehrstufige Sicherheit.
Ich werde mich darum kümmern, wenn ich etwas mehr Zeit habe, um möglicherweise ein Betriebssystem-Update zurückzusetzen, wenn es schief geht. Ich mache mein Python derzeit auf einem anderen Computer und behalte den Mac für meine Scala-, Swift- und Android-Arbeit. Jetzt brauche ich nur noch jemanden, der mir ein zweites Macbook Pro sponsert...

Antworten (4)

versuchen, Python 2.7.11 auf Xcode 7.2 auf OS X 10.11.2 auszuführen; Ich konnte „Python“ unter „Schema bearbeiten“ > „Info“ > „Ausführbar“ nicht auswählen. Es war ausgegraut. Ich weiß nicht, was SIP bedeutet, aber ich habe es zum Laufen gebracht, indem ich mit der rechten Maustaste auf das ausgegraute 'python' unter usr/local/bin im Fenster geklickt und "Quick Look" ausgewählt habe. Eine Box öffnete sich und ich schloss sie und 'python' war jetzt wählbar und die Datei lief wie ein Weltmeister! 

Deine Antwort klingt irgendwie abwegig. Die Verwendung Quick Lookändert nichts an Ihrem Mac, also muss es einen anderen Grund geben, warum Sie Python in Xcode auswählen könnten.
Das hat auch bei mir funktioniert: Nach dem Schließen der wurde Quick Lookdie ChooseSchaltfläche aktiviert. Ich habe darauf geklickt und alles funktioniert gut! Nennen Sie es ein "Osterei", lol?
Dies beruht auf einem Fehler im Dateibrowserfenster von OS X (nämlich, dass nicht auswählbare Elemente versehentlich auswählbar werden, nachdem das Quick Look-Fenster verwendet wurde), aber das ist alles, was wir haben!

Mein System ist OS X 10.11 El Capitan mit aktiviertem SIP, mit Xcode 7.2.1, und die folgende Lösung funktioniert für mich.

Die Lösung in Kürze: Wählen Sie für Ihre ausführbare Datei das in Ihrem System installierte Python aus, das sich befindet in:

Python.framework/Versions/ (3.x or 2.7) /Python

Der Speicherort von Python.framework hängt davon ab, welche Distribution von Python Sie verwenden. Meistens findet man es in /Library/Frameworks.

Umfassendere Anweisungen unten.


Bearbeiten Sie Ihr Xcode-Schema:

  1. Wählen Sie Produkt > Schema > Schema bearbeiten
  2. Ausführen > Info > Ausführbare Datei > Andere
  3. Drücken Sie Cmd(⌘)+ Shift+ Gund geben Sie den Ort ein, an dem Ihre ausführbaren Python-Dateien installiert sind.
  4. Wählen Sie die ausführbare Datei „Python“ aus.

Nun, der Ort, an dem die eigentlichen ausführbaren Dateien abgelegt werden, hängt davon ab, welche Python-Distribution Sie zur Installation ausgewählt haben. Meines Wissens setzt keiner von ihnen etwas anderes als symbolische Links zu /usr/local/binoder /opt/local/bin. Im Folgenden gebe ich Anweisungen zum Auffinden Ihrer ausführbaren Python-Datei.


MacPython

Dies ist die Version von der offiziellen Python-Website und befindet sich in /Library/Frameworks/Python.framework.

ActiveState ActivePython

Wird im selben Verzeichnis wie MacPython installiert.

MacPorts

MacPorts installiert sein Python in /opt/local/Library/Frameworks/Python.framework.

HomeBrew

HomeBrew hat zwei mögliche Speicherorte für Ihr Python.framework, da HomeBrew sie im Gegensatz zu jeder anderen Distribution separat installiert.

  • python2 ein/usr/local/Cellar/python
  • python3 ein/usr/local/Cellar/python3

In jedem von ihnen finden Sie Frameworks/Python.framework.

Alle Distributionen

In jedem Python.frameworkmöchten Sie einen Ordner mit dem Namen öffnen Versions. Darin finden Sie Ordner, die den auf Ihrem System installierten Python-Versionen entsprechen. Öffnen Sie diejenige, die Sie verwenden möchten, und darin finden Sie eine ausführbare Datei mit dem Namen Python. Du bist fertig!

Ich weiß, dass dies vor langer Zeit gepostet wurde, aber ich bin gerade auf dasselbe Problem gestoßen und dachte, ich würde meine Erkenntnisse teilen.

Diese Lösung hat bei mir funktioniert.

  1. Schließen Sie Xcode.
  2. Navigieren Sie zu Ihrer Projektbibliothek.
  3. Klicken Sie mit der rechten Maustaste auf die .xcodeproj-Datei des Projekts und wählen Sie „Paketinhalt anzeigen“.
  4. Suchen Sie die .xcscheme-Datei des Projekts und öffnen Sie sie in einem Editor.
  5. Suchen Sie das PathRunnable-Tag und setzen Sie den FilePath auf „/usr/local/bin/python3“.
  6. Speichern Sie die Datei und öffnen Sie das Projekt erneut.

Auf diese Weise können Sie brew install python3Ihr bevorzugtes Python für Xcode installieren.

Wenn Sie auf "Andere..." klicken und das Dialogfenster erscheint, drücken Sie shift+ cmd+ g. Dadurch wird ein Dialogfeld geöffnet, in dem Sie einen bestimmten Pfad eingeben können. Genauso wie in ein verstecktes Verzeichnis im Finder zu gehen.

Ich bin auf 10.11.2 und führe Xcode 7.2 aus, also ist in meinem Fall die ausführbare Python-Datei enthalten/usr/bin