J'ai récemment acheté un MacBook et y ai installé Python via Anaconda. Voici les informations de version:
Python 2.7.6 |Anaconda 1.8.0 (x86_64)| (default, Nov 11 2013, 10:49:09)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
J'aimerais pouvoir faire tout ce qui suit:
Voici ce que j'ai essayé:
Voici ce que je peux fais:
Une fois que cela fonctionne, je suis intéressé par les tâches suivantes:
UNE. Contrôle des scripts qui créent une fenêtre de console lorsqu'ils s'exécutent et de ceux qui ne le sont pas
B. Contrôler si la fenêtre de la console résultante disparaît à la fin du script ou attend que l'utilisateur (moi) la ferme
Cependant, je suppose qu’il sera peut-être facile de comprendre comment faire cela (ou si cela est possible) une fois que j’ai compris comment je vais appeler mes scripts au départ.
Pour que spyder puisse être appelé à partir de Spotlight ou du Finder:
Recherchez l'emplacement de votre exécutable spyder en exécutant dans Terminal:
which spyder
Cela devrait donner ~/anaconda/bin/spyder
si vous avez installé spyder via Anaconda, /opt/local/bin/spyder
si vous avez utilisé MacPorts ou quelque chose de similaire.
Créez un fichier appelé spyder
dans votre répertoire Applications
et rendez-le exécutable. Ensuite, remplissez-le avec le résultat de la commande précédente, suivi d'un &; exit
:
touch /Applications/spyder
chmod +x /Applications/spyder
echo -e '#!/bin/bash'"\n~/anaconda/bin/spyder &\nexit" >> /Applications/spyder
Sous Terminal -> Préférences -> Profils -> "profil par défaut" -> Shell -> à la sortie du shell: sélectionnez "Fermer si le shell est sorti proprement"
Optionnel:
Téléchargez l'icône de spyder de ici et ouvrez-la dans Preview. Copiez son contenu en appuyant sur cmd + c.
Dans le Finder, localisez /Applications/spyder
et ouvrez son volet "Lire les informations" en appuyant sur cmd + i. Sélectionnez l'icône dans le coin supérieur gauche avec votre souris et appuyez sur cmd + v.
La réponse acceptée présente deux inconvénients: une fenêtre de la console apparaît lors du démarrage de spyder et on ne peut pas conserver une icône de spyder dans le dock. Ces drawbakcs peuvent être évités en créant un paquet d’applications Mac approprié pour spyder, ce qui est étonnamment facile à faire.
Pour convertir /usr/local/bin/spyder3
(le résultat de which spyder3
sur ma machine) en une application Mac traditionnelle:
Créez un ensemble d’applications Mac (essentiellement une structure de dossiers contenant un fichier exécutable):
cd /Applications
mkdir -p spyder.app/Contents/MacOS
echo -e '#!/bin/bash'"\n /usr/local/bin/spyder3 $@" >> spyder.app/Contents/MacOS/spyder
chmod +x spyder.app/Contents/MacOS/spyder
Créez un fichier texte brut appelé Info.plist dans le dossier Contenu (par exemple, à l'adresse spyder.app/Contents/Info.plist) avec le contenu suivant:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>CFBundleExecutable</key>
<string>spyder</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>3.1.4</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>3.1.4</string>
</dict>
</plist>
(Facultatif) Créez une icône d'application comme pour les étapes 4 et 5 de la réponse acceptée.
Voilà, spyder est devenu soudainement beaucoup plus convivial pour Mac!
MODIFIER:
On peut encore améliorer la convivialité de spyder en:
Empêcher que l'icône générique de roquette Python apparaisse à côté de l'icône de spyder
Pour cela, décochez Spyder dans l’option Outils -> Préférences -> Console iPython -> Graphiques -> Activer (matplotlib)
Faire de spyder l'éditeur par défaut des fichiers .py.
Celui-ci est plus délicat. D'abord, assurez-vous que le contenu de spyder.app/Contents/MacOS/spyder est lu
#!/bin/bash
/usr/local/bin/spyder $@
Créez ensuite un script d'automate contenant une seule action "Exécuter un script Shell". Collez-y le script (bash) suivant:
for f in "$@"
do
open /Applications/spyder.app --args $f
done
if [ -z "$f" ]; then
open /Applications/spyder.app --args ~
fi
Choisissez "En tant qu'argument" pour les données d'entrée, comme indiqué dans la capture d'écran ci-dessous ("--args ~" manque dans la capture d'écran, mais il est nécessaire pour éviter une erreur lors du lancement de spyder sans fichier) .
Enregistrez ce script en tant qu’application appelée "SpyderOpener" par exemple.
Définissez SpyderOpener comme application par défaut pour l’ouverture des fichiers .py (à l’aide de la boîte de dialogue "Lire les informations" du Finder dans un fichier .py)
Accédez à anaconda/bin, localisez spyder (ou IPython, etc.), puis faites-le glisser vers le dock, mais placez-le dans la section Documents à la fin. Ensuite, vous aurez un accès facile à celui-ci. En cliquant dessus, Mac OS X lancera un shell qui l’exécutera. Il apparaîtra dans la section des applications. Vous pourrez ainsi faire avancer l’application en cours en cliquant dessus.
Vous pouvez utiliser Automator pour créer une application qui exécutera le script Unix. Ouvrez Automator quand il demande le type de document "Application"
Recherchez et cliquez sur "Run Shell Script". Vous pouvez laisser/bin/bash tel quel et taper dans la case l'emplacement de spyder (comme indiqué en tapant quel spyder dans le terminal). Ensuite, vous enregistrez le fichier et vous avez terminé. Cela supprime également le problème que j'ai rencontré lorsque le terminal s'exécute en arrière-plan et vous fournit une application que vous pouvez faire glisser vers le dock. Vous pouvez également changer le logo comme suggéré ci-dessus.
(Je l'ai fait avec Mac OS 10.10 et un Anaconda 2.3.0)
Vous pouvez ouvrir spyder en pointant Quicksilver sur ~/anaconda/bin/spyder
(vous pouvez l'ajouter à votre catalogue pour qu'il le trouve toujours).
Une méthode très simple ne nécessitant pas l’utilisation de Terminal consiste essentiellement à créer un package spyder.app dans Applications et à copier le fichier spyder exec d’Anaconda dans ce dossier. En cliquant sur le paquet, spyder se lancera en tant qu'application et vous pourrez cliquer avec le bouton droit de la souris sur l'icône du dock pour le conserver dans le dock.
Vous trouverez ci-dessous les instructions pas à pas.
Nous créons d’abord le dossier spyder.app dans Applications:
Ouvrez le dossier Applications dans le Finder.
Faites un clic droit et créez "Nouveau dossier".
Nous copions ensuite le fichier exec spyder:
Dans une nouvelle fenêtre du Finder, ouvrez votre dossier de départ (il devrait avoir une image simple d’une maison sous forme d’icône). Un raccourci consiste à appuyer sur les touches Maj + Commande + H lorsque le Finder est ouvert.
Ouvrez le dossier anaconda3, puis ouvrez le dossier nommé 'bin'.
Remarque: si anaconda3 n'est pas installé dans votre répertoire personnel, recherchez simplement 'anaconda3' avec les correspondances exactes du nom de fichier dans le Finder et ouvrez le fichier.
Collez le fichier exec copié dans le package spyder.app:
Dans la fenêtre du Finder ouverte aux applications, cliquez avec le bouton droit de la souris sur le spyder.app créé ci-dessus et sélectionnez "Afficher le contenu du paquet".
Cliquez avec le bouton droit dans la fenêtre et collez le fichier exec.
Maintenant, lorsque vous revenez dans le dossier Applications, double-cliquez sur le package spyder.app et spyder devrait s'exécuter. Cliquez avec le bouton droit sur l'icône dans le dock et sélectionnez "Conserver dans le dock" pour conserver l'application dans le dock lorsque vous ne l'utilisez pas. Vous pouvez également créer l'icône de l'application comme indiqué aux points 4 et 5 de la réponse d'origine.