Python in Xcode 4+?


198

Wie erstellt man eine Python-freundliche Umgebung in Xcode 4, 5, 6 oder 7?


1
Komodo ist eine gute Python-spezifische Alternative, insbesondere wenn Sie nicht versuchen, Python mit OSX-spezifischen Dingen zu kombinieren.

Hmm. Es sieht interessant aus, aber ich habe keine Lust, das Geld zu husten.
Tyler Crompton

Komodo Edit ist ihre kostenlose Option. Ich habe IDE und wenn Sie ernsthafte Python-Arbeit machen, lohnt es sich.

1
Ich würde Wing 4 nur für seinen Code-Assistenten empfehlen ... sehr nett. Aber Xcode 4 ist ziemlich hübsch :-).
NickZoic

1
Was zum Teufel? Eine Frage für die Zukunft? Vom 11. März 2011 um 18:40 Uhr ???
Prajeet Shrestha

Antworten:


266

Ich habe es herausgefunden! Die Schritte lassen es so aussehen, als würde es mehr Aufwand erfordern als es tatsächlich tut.

Diese Anweisungen dienen zum Erstellen eines Projekts von Grund auf neu. Wenn Sie über vorhandene Python-Skripte verfügen, die Sie in dieses Projekt aufnehmen möchten, müssen Sie offensichtlich geringfügig von diesen Anweisungen abweichen.

Wenn Sie feststellen, dass diese Anweisungen nicht mehr funktionieren oder aufgrund von Änderungen bei Xcode-Updates unklar sind, lassen Sie es mich bitte wissen. Ich werde die notwendigen Korrekturen vornehmen.

  1. Öffnen Sie Xcode. Die Anweisungen für beide sind gleich.
  2. Klicken Sie in der Menüleiste auf „Datei“ → „Neu“ → „Neues Projekt…“.
  3. Wählen Sie im linken Bereich "Andere", dann auf der rechten Seite "Externes Build-System" und klicken Sie dann auf "Weiter".
  4. Geben Sie den Produktnamen, den Organisationsnamen oder die Organisationskennung ein.
  5. Geben Sie für das Feld "Build Tool" /usr/local/bin/python3Python 3 oder /usr/bin/pythonPython 2 ein und klicken Sie dann auf "Weiter". Beachten Sie, dass dies voraussetzt, dass Sie über die symbolische Verknüpfung (die standardmäßig eingerichtet ist) verfügen, die in die ausführbare Python-Datei aufgelöst wird. Wenn Sie sich nicht sicher sind, wo sich Ihre ausführbaren Python-Dateien befinden, geben Sie einen dieser Befehle in Terminal: which python3und einwhich python .
  6. Weiter klicken".
  7. Wählen Sie den Speicherort und klicken Sie auf "Erstellen".
  8. Klicken Sie in der Menüleiste auf "Datei" → "Neu" → "Neue Datei ...".
  9. Wählen Sie "Andere" unter "OS X".
  10. Wählen Sie "Leer" und klicken Sie auf "Weiter".
  11. Navigieren Sie zum Projektordner (sonst funktioniert es nicht), geben Sie den Namen der Python-Datei (einschließlich der Erweiterung ".py") ein und klicken Sie auf "Erstellen".
  12. Klicken Sie in der Menüleiste auf „Produkt“ → „Schema“ → „Schema bearbeiten…“.
  13. Klicken Sie im linken Bereich auf "Ausführen".
  14. Klicken Sie auf der Registerkarte "Info" auf das Feld "Ausführbare Datei" und dann auf "Andere ...".
  15. Navigieren Sie ab Schritt 5 zur ausführbaren Datei. Möglicherweise müssen Sie diese verwenden ⇧⌘G das Verzeichnis eingeben, wenn es ausgeblendet ist.
  16. Wählen Sie die ausführbare Datei aus und klicken Sie auf "Auswählen".
  17. Deaktivieren Sie "Debug ausführbare Datei". Wenn Sie diesen Schritt überspringen, versucht Xcode, die ausführbare Python-Datei selbst zu debuggen. Mir ist keine Möglichkeit bekannt, ein externes Debugging-Tool in Xcode zu integrieren.
  18. Klicken Sie unter "Beim Start übergebene Argumente" auf das Symbol "+". Möglicherweise müssen Sie diesen Abschnitt erweitern, indem Sie auf das Dreieck klicken, das nach rechts zeigt.
  19. Geben Sie ein $(SRCROOT)/(oder$(SOURCE_ROOT)/ ) und dann den Namen der Python-Datei ein, die Sie testen möchten. Denken Sie daran, dass sich das Python-Programm im Projektordner befinden muss. Andernfalls müssen Sie hier den vollständigen Pfad (oder den relativen Pfad, wenn er sich in einem Unterordner des Projektordners befindet) eingeben. Wenn sich irgendwo im vollständigen Pfad Leerzeichen befinden, müssen Sie am Anfang und Ende Anführungszeichen setzen.
  20. Klicken Sie auf "Schließen".

Beachten Sie, dass der Dateityp automatisch auf "Standard - Python-Skript" gesetzt wird, wenn Sie das Fenster "Dienstprogramme" öffnen und die Registerkarte "Dateiinspektor anzeigen" aktiviert ist. Schauen Sie sich alle verfügbaren Dateitypoptionen an, um eine Vorstellung davon zu bekommen, wozu alles in der Lage ist. Die obige Methode kann auf jede interpretierte Sprache angewendet werden. Bis jetzt muss ich noch genau herausfinden, wie ich es mit Java zum Laufen bringen kann. Andererseits habe ich nicht zu viel recherchiert. Sicherlich gibt es im Internet eine Dokumentation darüber.

Laufen ohne Administratorrechte:

Wenn Sie keine Administratorrechte haben oder nicht zur Entwicklergruppe gehören, können Sie Xcode weiterhin für die Python-Programmierung verwenden (Sie können jedoch immer noch nicht in Sprachen entwickeln, die kompiliert werden müssen). Anstatt die Wiedergabetaste zu verwenden, klicken Sie in der Menüleiste auf "Produkt" → "Aktion ausführen" → "Ohne Gebäude ausführen" oder verwenden Sie einfach die Tastenkombination ^⌘R.

Weitere Hinweise:

Um die Einstellungen für Textcodierung, Zeilenenden und / oder Einrückungen zu ändern, öffnen Sie das Bedienfeld "Dienstprogramme" und klicken Sie auf die Registerkarte "Dateiinspektor anzeigen". Dort finden Sie diese Einstellungen.

Für weitere Informationen zu den Build-Einstellungen von Xcode gibt es keine bessere Quelle als diese . Ich würde gerne von jemandem hören, der dies dazu gebracht hat, mit nicht unterstützten kompilierten Sprachen zu arbeiten. Dieser Prozess sollte für jede andere interpretierte Sprache funktionieren. Stellen Sie einfach sicher, dass Sie Schritt 5 und Schritt 16 entsprechend ändern.


2
Genial, dass du das herausgefunden hast. Ist interaktives Debuggen möglich? Ich wäre neugierig zu wissen, dass ich es ein paar Mal tun muss.
Tom Willis

2
Xcode4 führt für mich oft eine seltsame automatische Einrückung durch. Hattest du ähnliche Probleme? Bist du irgendwie um sie herumgekommen?
Albert

1
@lciamp, ich habe keine Erfahrung mit pyCharm; Ich habe dies jedoch dazu gebracht, auf Versionen von Python zu funktionieren , die unter OS X nicht vorinstalliert waren.
Tyler Crompton

2
@xxmbabanexx, die Anweisungen waren etwas veraltet. Sie haben den Text der Beschriftung für dieses Feld geändert. Ich habe die Anleitung entsprechend aktualisiert.
Tyler Crompton

1
Ich habe dies in Xcode 5.02 versucht. Es funktionierte bis auf zwei Dinge: 1) Ich konnte das Schema nicht dazu bringen, mit $ (SOURCE_ROOT) zu arbeiten, also gab ich auf und benutzte einen festverdrahteten Pfad; 2) Wenn ich das Python-Skript ausführe, stoppt Xcode bei dyld`_dyld_start: Wenn ich "fortfahre", scheint es zu funktionieren. Hat das noch jemand erlebt?
mts

29

Ich habe Xcode 4-Vorlagen erstellt, um die von Tyler bereitgestellten Schritte zu vereinfachen .
Das Ergebnis ist die Python-Projektvorlage für Xcode 4.

Jetzt müssen Sie nur noch die Vorlagen herunterladen, sie verschieben /Developer/Library/Xcode/Templates/Project Templates/Mac/Others/und dann ein Python-Projekt mit Xcode 4 neu erstellen.

Es muss noch manuell eingerichtet werden (siehe die von Tyler bereitgestellten Schritte 12 bis 20 ).


Ich habe erfolglos versucht, eine Vorlage zu erstellen. Ich weiß nicht viel darüber, also habe ich es nicht fertiggestellt. Requisiten für die Vorlagen. Sicher gibt es eine Möglichkeit, das Schema-Setup zu automatisieren. : /
Tyler Crompton

13

Vorgehensweise, um Python in XCode 7 zum Laufen zu bringen

Schritt 1: Richten Sie Ihr Projekt mit einem externen Build-System ein

Geben Sie hier die Bildbeschreibung ein

Schritt 1.1: Bearbeiten Sie das Projektschema

Geben Sie hier die Bildbeschreibung ein

Schritt 2: Geben Sie Python als ausführbare Datei für das Projekt an (shift-command-g). Der Pfad sollte / usr / bin / python sein

Geben Sie hier die Bildbeschreibung ein

Schritt 3: Geben Sie Ihr benutzerdefiniertes Arbeitsverzeichnis an

Geben Sie hier die Bildbeschreibung ein

Schritt 4: Geben Sie Ihre Befehlszeilenargumente als Namen Ihrer Python-Datei an. (in diesem Beispiel "test.py")

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Schritt 5: Zum Glück ist es das!

(Debugging kann erst hinzugefügt werden, wenn OSX einen Python-Debugger unterstützt?)


Diesem Prozess scheinen einige Schritte zu fehlen, die direkt nach Schritt 1 für Xcode 7.0.1 (7A1001) beginnen ... Können Sie das klarstellen? Insbesondere kann ich den in Schritt 2 gezeigten Dialog nicht finden, und Shift-Befehl-g ist der Befehl "Vorherige
suchen

@TraxusIV Der fehlende Schritt ist: Klicken Sie im Hauptfenster von Xcode auf den Projektnamen. Sie sollten ein Menü mit "Schema bearbeiten ...", "Neues Schema ..." und "Schemas verwalten ..." erhalten. Wählen Sie "Schema bearbeiten ..." und Sie gelangen in Schritt 2 oben zum gewünschten Fenster.
Deesbek

Verwenden Sie whichfür das Build-Tool für externe Build-Systeme den Befehl in Terminal, um den genauen Speicherort für das Build-Tool abzurufen. "which lua" gibt beispielsweise "/ usr / local / bin / lua" auf meinem System zurück.
C1pher

8

Sie sollten versuchen, das PyDev- Plug-In für Eclipse zu verwenden . Ich habe versucht, viele Editoren / IDEs mit Python zu verwenden, aber das einzige, das mir am besten gefallen hat, ist das PyDev-Plugin für Eclipse. Es hat Code-Vervollständigung, Debugger und viele andere nette Funktionen. Plus beide sind kostenlos.


Das versuche ich jetzt zu tun. Ich habe es noch nicht zum Laufen gebracht, weil es so aussieht, als müsste man durch ein paar Reifen springen, um das zu tun, aber das sieht so aus, wie ich es tun werde.
Tyler Crompton

Ja, sobald Sie den Python-Interpreter hinzugefügt haben, können Sie loslegen. Wenn Sie Fragen haben, können Sie diese gerne stellen.
Edvinauskas

1
Wie fügt man hier einen Python-Interpreter hinzu, um interaktives Codieren durchzuführen?
SexyBeast

6

Ein anderer Weg, den ich seit einiger Zeit in XCode3 benutze:

Siehe Schritte 1-15 oben.

  1. Wählen Sie / bin / bash als ausführbare Datei
  2. Wählen Sie im Feld "Debugger" die Option "Keine" aus.
  3. Klicken Sie auf der Registerkarte "Argumente" auf das Feld "Basiserweiterungen ein" und wählen Sie das zuvor erstellte Ziel aus.
  4. Klicken Sie auf das Symbol "+" unter "Beim Start übergebene Argumente". Möglicherweise müssen Sie diesen Abschnitt erweitern, indem Sie auf das nach rechts zeigende Dreieck klicken.
  5. Geben Sie "-l" ein. Dies weist bash an, Ihre Anmeldeumgebung (PYTHONPATH usw.) zu verwenden.
  6. Führen Sie Schritt 19 erneut aus.
  7. Geben Sie "-c '$ (SOURCE_ROOT) /. Py' ein"
  8. OK klicken".
  9. Starten Sie die Codierung.

Das Schöne an dieser Methode ist, dass für die Entwicklung dieselbe Umgebung verwendet wird, in der Sie außerhalb von XCode ausgeführt werden (als Setup aus Ihrem Bash-Profil).

Es ist auch allgemein genug, damit Sie jede Art von Datei entwickeln / ausführen können, nicht nur Python.



2

Dieser Thread ist alt, aber für Xcode Version 8.3.3 funktioniert Tyler Cromptons Methode in der akzeptierten Antwort immer noch (einige der Namen unterscheiden sich geringfügig, reichen aber nicht aus, um eine Rolle zu spielen).

2 Punkte, an denen ich leicht zu kämpfen hatte:

Schritt 16: Wenn die gewünschte ausführbare Python-Datei ausgegraut ist, klicken Sie mit der rechten Maustaste darauf und wählen Sie Schnellübersicht. Schließen Sie dann das Schnellfenster, und es sollte jetzt auswählbar sein.

Schritt 19: Wenn dies bei Ihnen nicht funktioniert, können Sie nur den Namen der Python-Datei auf der Registerkarte "Argumente" eingeben und dann das Projektstammverzeichnis explizit auf der Registerkarte "Optionen" unter "Arbeitsverzeichnis" eingeben. Aktivieren Sie das Kontrollkästchen "Benutzerdefinierte Arbeit verwenden" Verzeichnis “und geben Sie Ihr Projektstammverzeichnis in das Feld darunter ein.


Dieser Trick mit dem Linksklick und dem "Quick-Look" ist großartig! hat mir geholfen, es zum Laufen zu bringen! in Xcode 9.2 vielen Dank!
Novski

1

Try Editra Es ist kostenlos, hat viele coole Funktionen und Plug-Ins, läuft auf den meisten Plattformen und ist in Python geschrieben. Ich verwende es für alle meine Nicht-XCode-Entwicklungen zu Hause und unter Windows / Linux bei der Arbeit.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.