Python dans Xcode 4+?

198

Comment créer un environnement convivial Python dans Xcode 4, 5, 6 ou 7?

Tyler Crompton
la source
1
Komodo est une bonne alternative spécifique à Python, surtout si vous n'essayez pas de combiner Python avec des éléments spécifiques à OSX.
Hmm. Ça a l'air intéressant mais je n'ai pas envie de cracher de l'argent.
Tyler Crompton
Komodo Edit est leur option gratuite. J'ai IDE et si vous travaillez sérieusement sur Python, cela en vaut la peine.
1
Je recommanderais Wing 4 juste pour son assistant de code ... très agréable. Mais Xcode 4 est plutôt joli :-).
NickZoic
1
Que se passe-t-il? Une question d'avenir? En date du 11 mars 2011 à 18:40 ???
Prajeet Shrestha

Réponses:

266

Je l'ai compris! Les étapes donnent l'impression qu'il faudra plus d'efforts qu'il ne le fait réellement.

Ces instructions permettent de créer un projet à partir de zéro. Si vous avez des scripts Python existants que vous souhaitez inclure dans ce projet, vous devrez évidemment vous écarter légèrement de ces instructions.

Si vous trouvez que ces instructions ne fonctionnent plus ou ne sont pas claires en raison de changements dans les mises à jour de Xcode, veuillez me le faire savoir. Je ferai les corrections nécessaires.

  1. Ouvrez Xcode. Les instructions pour les deux sont les mêmes.
  2. Dans la barre de menu, cliquez sur «Fichier» → «Nouveau» → «Nouveau projet…».
  3. Sélectionnez «Autre» dans le volet gauche, puis «Système de construction externe» dans la page de droite, puis cliquez sur «Suivant».
  4. Saisissez le nom du produit, le nom de l'organisation ou l'identifiant de l'organisation.
  5. Pour le champ «Build Tool», saisissez /usr/local/bin/python3Python 3 ou /usr/bin/pythonPython 2 puis cliquez sur «Next». Notez que cela suppose que vous disposez du lien symbolique (qui est configuré par défaut) qui se résout en exécutable Python. Si vous n'êtes pas sûr de l'emplacement de vos exécutables Python, entrez l'une de ces commandes dans Terminal: which python3et which python.
  6. Cliquez sur Suivant".
  7. Choisissez où l'enregistrer et cliquez sur «Créer».
  8. Dans la barre de menu, cliquez sur «Fichier» → «Nouveau» → «Nouveau fichier…».
  9. Sélectionnez «Autre» sous «OS X».
  10. Sélectionnez "Vide" et cliquez sur "Suivant".
  11. Accédez au dossier du projet (cela ne fonctionnera pas, sinon), entrez le nom du fichier Python (y compris l'extension «.py») et cliquez sur «Créer».
  12. Dans la barre de menus, cliquez sur «Produit» → «Schéma» → «Modifier le schéma…».
  13. Cliquez sur «Exécuter» dans le volet gauche.
  14. Dans l'onglet «Info», cliquez sur le champ «Exécutable» puis sur «Autre…».
  15. Accédez à l'exécutable à partir de l'étape 5. Vous devrez peut-être utiliser ⇧⌘Gpour taper dans le répertoire s'il est masqué.
  16. Sélectionnez l'exécutable et cliquez sur "Choisir".
  17. Décochez «Debug executable». Si vous sautez cette étape, Xcode essaiera de déboguer l'exécutable Python lui-même. Je ne connais pas de moyen d'intégrer un outil de débogage externe dans Xcode.
  18. Cliquez sur l'icône «+» sous «Arguments transmis au lancement». Vous devrez peut-être étendre cette section en cliquant sur le triangle pointant vers la droite.
  19. Tapez $(SRCROOT)/(ou $(SOURCE_ROOT)/) puis le nom du fichier Python que vous souhaitez tester. N'oubliez pas que le programme Python doit se trouver dans le dossier du projet. Sinon, vous devrez taper le chemin complet (ou le chemin relatif s'il se trouve dans un sous-dossier du dossier du projet) ici. S'il y a des espaces n'importe où dans le chemin d'accès complet, vous devez inclure des guillemets au début et à la fin de cela.
  20. Cliquez sur "Fermer".

Notez que si vous ouvrez le panneau "Utilitaires", avec l'onglet "Afficher l'inspecteur de fichiers" actif, le type de fichier est automatiquement défini sur "Par défaut - Script Python". N'hésitez pas à parcourir toutes les options de type de fichier dont il dispose, pour avoir une idée de ce qu'il est capable de faire. La méthode ci-dessus peut être appliquée à n'importe quel langage interprété. Pour l'instant, je n'ai pas encore trouvé exactement comment le faire fonctionner avec Java; là encore, je n'ai pas fait trop de recherches. Il y a sûrement de la documentation qui circule sur le Web à propos de tout cela.

Fonctionnement sans privilèges administratifs:

Si vous ne disposez pas de privilèges administratifs ou que vous ne faites pas partie du groupe Developer, vous pouvez toujours utiliser Xcode pour la programmation Python (mais vous ne pourrez toujours pas développer dans des langages nécessitant une compilation). Au lieu d'utiliser le bouton de lecture, dans la barre de menus, cliquez sur "Produit" → "Effectuer une action" → "Exécuter sans construire" ou utilisez simplement le raccourci clavier ^⌘R.

Autres notes:

Pour modifier l'encodage du texte, les fins de ligne et / ou les paramètres de retrait, ouvrez le panneau "Utilitaires" et cliquez sur l'onglet "Afficher l'inspecteur de fichiers" actif. Vous y trouverez ces paramètres.

Pour plus d'informations sur les paramètres de construction de Xcode, il n'y a pas de meilleure source que celle-ci . Je serais intéressé à entendre quelqu'un qui a fait fonctionner cela avec des langues compilées non prises en charge. Ce processus devrait fonctionner pour tout autre langage interprété. Veillez simplement à modifier les étapes 5 et 16 en conséquence.

Tyler Crompton
la source
2
Génial que vous ayez compris cela. le débogage interactif est-il possible? Je serais curieux de savoir pour les quelques fois où je dois le faire.
Tom Willis
2
Xcode4 fait souvent une étrange auto-indentation pour moi. Avez-vous rencontré des problèmes similaires? Êtes-vous venu autour d'eux d'une manière ou d'une autre?
Albert
1
@lciamp, je n'ai aucune expérience avec pyCharm; cependant, j'ai réussi à faire fonctionner cela sur des versions de Python qui n'étaient pas préinstallées sur OS X.
Tyler Crompton
2
@xxmbabanexx, les instructions étaient légèrement obsolètes. Ils ont changé le texte de l'étiquette pour ce champ. J'ai mis à jour les instructions en conséquence.
Tyler Crompton
1
J'ai essayé cela dans Xcode 5.02. Cela a fonctionné sauf pour 2 choses: 1) Je ne pouvais pas faire fonctionner le schéma avec $ (SOURCE_ROOT) alors j'ai abandonné et utilisé un chemin câblé; 2) lorsque j'exécute le script python, Xcode s'arrête à dyld`_dyld_start: Si je "continue", cela semble fonctionner. Quelqu'un d'autre a vécu cela?
mts
29

J'ai créé des modèles Xcode 4 pour simplifier les étapes fournies par Tyler .
Le résultat est un modèle de projet Python pour Xcode 4.

Maintenant, ce que vous devez faire est de télécharger les modèles, de les déplacer /Developer/Library/Xcode/Templates/Project Templates/Mac/Others/puis de créer un nouveau projet Python avec Xcode 4.

Il nécessite toujours une configuration manuelle du schéma (vous pouvez vous référer aux étapes 12 à 20 fournies par Tyler .)

Chen-Hai
la source
J'ai essayé de créer un modèle en vain. Je n'en sais pas trop à ce sujet, donc je ne l'ai pas terminé. Accessoires pour les modèles. Il existe certainement un moyen d'automatiser la configuration du schéma. : /
Tyler Crompton
13

Procédure pour faire fonctionner Python dans XCode 7

Étape 1: configurer votre projet avec un système de construction externe

entrez la description de l'image ici

Étape 1.1: Modifier le schéma du projet

entrez la description de l'image ici

Étape 2: spécifiez Python comme exécutable du projet (shift-command-g), le chemin doit être / usr / bin / python

entrez la description de l'image ici

Étape 3: spécifiez votre répertoire de travail personnalisé

entrez la description de l'image ici

Étape 4: spécifiez vos arguments de ligne de commande comme étant le nom de votre fichier python. (dans cet exemple "test.py")

entrez la description de l'image ici

entrez la description de l'image ici

Étape 5: Heureusement c'est tout!

(le débogage ne peut pas être ajouté tant que OSX ne prend pas en charge un débogueur python?)

Asher
la source
Ce processus semble manquer certaines étapes, commençant juste après l'étape 1, pour Xcode 7.0.1 (7A1001) ... Pouvez-vous clarifier? Plus précisément, je ne parviens pas à trouver la boîte de dialogue illustrée à l'étape 2, et shift-command-g est la commande "Find Previous" ...
TraxusIV
@TraxusIV l'étape qui manque est: dans la fenêtre principale de Xcode, cliquez sur le nom du projet. Vous devriez obtenir un menu avec "Modifier le schéma ...", "Nouveau schéma .." et "Gérer les schémas ..." Sélectionnez "Modifier le schéma ..." et vous obtiendrez la fenêtre requise, à l'étape 2 ci-dessus.
Deesbek
Pour l'outil de génération de système de build externe, utilisez la whichcommande dans Terminal pour obtenir l'emplacement exact de l'outil de build. "quelle lua" renvoie par exemple "/ usr / local / bin / lua" sur mon système.
C1pher
8

Vous devriez essayer le plug- in PyDev pour Eclipse . J'ai essayé beaucoup d'éditeurs / IDE à utiliser avec python, mais le seul que j'ai le plus aimé est le plugin PyDev pour Eclipse. Il a un code complet, un débogueur et de nombreuses autres fonctionnalités intéressantes. De plus, les deux sont gratuits.

Edvinauskas
la source
C'est ce que j'essaie de faire maintenant. Je ne l'ai pas encore fait fonctionner parce qu'il semble que vous devez sauter quelques cerceaux pour le faire, mais cela ressemble à ce que je vais faire.
Tyler Crompton
Oui, une fois que vous avez ajouté l'interpréteur Python, vous êtes prêt. Si vous avez des questions, n'hésitez pas à les poser.
Edvinauskas
1
Comment ajoutez-vous l'interpréteur Python pour faire du codage interactif ici?
SexyBeast
6

Une autre façon, que j'utilise depuis un certain temps dans XCode3:

Voir les étapes 1 à 15 ci-dessus.

  1. Choisissez / bin / bash comme exécutable
  2. Pour le champ "Débogueur", sélectionnez "Aucun".
  3. Dans l'onglet "Arguments", cliquez sur le champ "Base Expansions On" et sélectionnez la cible que vous avez créée précédemment.
  4. Cliquez sur l'icône "+" sous "Arguments transmis au lancement". Vous devrez peut-être étendre cette section en cliquant sur le triangle pointant vers la droite.
  5. Tapez "-l". Cela indiquera à bash d'utiliser votre environnement de connexion (PYTHONPATH, etc.)
  6. Répétez l'étape 19.
  7. Tapez "-c '$ (SOURCE_ROOT) /. Py'"
  8. Cliquez sur OK".
  9. Commencez à coder.

La bonne chose à propos de cette façon est qu'elle utilisera le même environnement pour se développer que celui que vous utiliseriez pour fonctionner en dehors de XCode (comme configuré à partir de votre bash .profile).

Il est également suffisamment générique pour vous permettre de développer / exécuter n'importe quel type de fichier, pas seulement python.

Smitty
la source
2

Cette note technique TN2328 de la bibliothèque des développeurs Apple m'a beaucoup aidé sur les modifications apportées à l'intégration de Python à l'aide de Xcode 5.0.

neowinston
la source
2

Ce fil est ancien, mais pour faire sonner la version 8.3.3 de Xcode, la méthode de Tyler Crompton dans la réponse acceptée fonctionne toujours (certains noms sont très légèrement différents, mais pas assez pour être importants).

2 points où j'ai eu un peu de mal:

Étape 16: Si l'exécutable python souhaité est grisé, faites un clic droit dessus et sélectionnez aperçu rapide. Fermez ensuite la fenêtre de recherche rapide et elle devrait maintenant être sélectionnable.

Étape 19: Si cela ne fonctionne pas pour vous, vous pouvez entrer le nom du fichier python uniquement dans l'onglet Arguments, puis entrer explicitement le répertoire racine du projet dans l'onglet Options sous Répertoire de travail - cochez la case «Utiliser un travail personnalisé et saisissez le répertoire racine de votre projet dans le champ situé en dessous.

Galen
la source
Cette astuce avec le clic gauche et le 'quick-look' est géniale! m'a aidé à le faire fonctionner! dans Xcode 9.2 merci beaucoup!
novski
1

Essayez Editra C'est gratuit, a beaucoup de fonctionnalités et de plug-ins sympas, il fonctionne sur la plupart des plates-formes et il est écrit en Python. Je l'utilise pour tout mon développement non XCode à la maison et sur Windows / Linux au travail.

Mohawke
la source