Recientemente he comprado un MacBook y instalar Python en él a través de la Anaconda. Aquí está la información de la versión:

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

Me gustaría ser capaz de hacer todo lo siguiente:

  1. Lanzamiento Spyder sin tener que ir a través de la aplicación de inicio (es decir, escribiendo cosas en Foco de atención y Quicksilver)
  2. Ejecutar código Python desde el Finder, presumiblemente por la doble clic en mi .py archivo o seleccionándolo y pulsando Cmd-O
  3. Ejecutar código Python escribiendo una secuencia de comandos de Python nombre en Quicksilver (como si fuera un programa normal)

Aquí es lo que he intentado:

  1. (nada; no hay ideas aquí)
  2. He asociados .py archivos con Usuarios /kuzzooroo/anaconda/python.app/Contents/MacOS/python y les hizo ejecutable (chmod u+x). Cuando intento ejecutar la aplicación nunca se lanza y no me da un mensaje de error (no sé donde mirar)
  3. Hecho de que los archivos ejecutables y trató de correr desde Spotlight. Mismo resultado que en el #2.

Aquí es lo que yo puede hacer:

  • Ejecutar el código desde una ventana de Terminal, si tengo el derecho shebang en la parte superior y han hecho que el archivo ejecutable
  • Generar una aplicación que utiliza py2app. Desafortunadamente, este método tiene los siguientes inconvenientes:
    • Me frecuentemente modificar mis scripts y preferiría no tener que correr py2app cada vez que lo hago
    • Incluso para un trivial de secuencia de comandos de la aplicación resultante es de 7 MB
    • Para ejecutar la aplicación en algunos contextos tengo que cavar a su alrededor en el paquete para encontrar la verdadera «Unix Archivo Ejecutable» y de ejecución que, en lugar

Una vez que tengo este trabajo, estoy interesado en hacer lo siguiente:

A. el Control de los guiones que se cree una ventana de la consola cuando se ejecutan y que no

B. Controlar si el resultado de la consola ventana desaparece cuando la secuencia de comandos completa o espera alrededor para el usuario (me) para cerrarla

Sin embargo, sospecho que puede ser fácil de averiguar cómo hacer esto (o si es posible) una vez me he dado cuenta de cómo me voy a invocar mi secuencias de comandos en el primer lugar.

  • Lo que si te asocias .py archivos con Usuarios /kuzzooroo/anaconda/python.app (sin necesidad de profundizar en los Contenidos)?
  • cuando me relaciono .py archivos con Usuarios /kuzzooroo/anaconda/python.app puedo ver algunos indicios de que el guión está tratando de ejecutar pero no fuera de la tierra. Los iconos en el dock de iniciar un movimiento separado para hacer la habitación. Pero, antes de llegar a todo el camino, aparte de que el proceso se parece a fallar y los iconos en el dock aplastar de nuevo en su lugar. Por desgracia no estoy seguro de dónde buscar un mensaje de error, así que no sé cómo depurar.
  • Usted también puede encontrar una respuesta a esta pregunta en el Mac de intercambio de la pila.
InformationsquelleAutor kuzzooroo | 2013-12-21

7 Comentarios

  1. 61

    Para hacer spyder puede llamar desde Spotlight o el Finder:

    1. Buscar sus spyder ejecutable está ejecutando en la Terminal:

      which spyder

      Este debe producir ~/anaconda/bin/spyder si ha instalado spyder a través de la Anaconda, /opt/local/bin/spyder si usted utiliza MacPorts o algo similar.

    2. Crear un archivo llamado spyder en su Applications directorio y hacerlo ejecutable. Luego, cubrir con la salida del comando anterior, seguido por un &; exit:

      touch /Applications/spyder
      chmod +x /Applications/spyder
      echo -e '#!/bin/bash'"\n~/anaconda/bin/spyder &\nexit" >> /Applications/spyder
    3. Bajo Terminal -> Preferencias> Perfiles -> «perfil predeterminado» -> Shell -> Cuando se cierre el shell: Seleccione «Cerrar si la cáscara sale limpiamente»

    Opcional:

    1. Descarga el spyder Icono de aquí y ábralo en la vista previa. Copia su contenido pulsando cmd+C.

    2. En el Finder, busque /Applications/spyder y abrir su «Obtener Información» panel pulsando cmd+I. Seleccione el icono en la esquina superior izquierda con el ratón y presiona cmd+V.

    • Muy bonito! Nota para otras bash usuarios: tuve que poner #!/bin/tcsh en la parte superior de mi script para que se ejecute correctamente.
    • Gracias por tu comentario! He editado línea que se debe trabajar como un script de bash ahora.
    • excelente respuesta. Gracias por incluir esta completa solución!
    • Es necesario hoy en día? Gracias
  2. 25

    Aceptado la respuesta tiene dos inconvenientes: una consola de windows aparece al iniciar spyder y uno no puede mantener una spyder icono en el dock. Estos drawbakcs puede ser evitado mediante la creación de una adecuada aplicación de Mac bundle para spyder, que es sorprendentemente fácil de hacer.

    Para convertir /usr/local/bin/spyder3 (el resultado de which spyder3 en mi máquina) en un tradicional aplicación de Mac:

    1. Crear una aplicación para Mac bundle (básicamente una estructura de carpetas que contiene un archivo ejecutable):

      cd /Applications
      mkdir -p spyder.app/Contents/MacOS
      echo -e '#!/bin/bash'"\n /usr/local/bin/spyder3 [email protected]" >> spyder.app/Contents/MacOS/spyder
      chmod +x spyder.app/Contents/MacOS/spyder
    2. Crear un archivo de texto plano llamado Info.plist en el Contenido de la carpeta (es decir, en la spyder.app/Contents/Info.plist) con el siguiente contenido:

      <?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>
    3. (Opcional) Cree un icono de la aplicación como en los pasos 4 y 5 de la aceptó respuesta.

    Voilà, spyder se ha convertido de repente mucho más Mac-friendly!

    EDITAR:
    Uno puede mejorar aún más la mac en el manejo de spyder por:

    1. La prevención de la genérica de python cohete icono aparecerá además el spyder icono

      Para ello, desactive spyder en la opción Herramientas -> Preferencias> iPython consola -> Gráficos -> Activar (matplotlib)

    2. Hacer spyder editor predeterminado .py archivos.

      Este es más complicado. Primero asegúrese de que el contenido de la araña.app/Contents/MacOS/spyder lee

      #!/bin/bash
      /usr/local/bin/spyder [email protected]

    A continuación, crear un script de automator que contiene una sola acción «Ejecutar una secuencia de comandos de shell». Pegue el siguiente (bash) guión en él:

    for f in "[email protected]"
    do
        open /Applications/spyder.app --args $f
    done
    if [ -z "$f" ]; then
        open /Applications/spyder.app --args ~
    fi

    Elegir «Como argumento» para los datos de entrada, como se muestra en la siguiente captura de pantalla (el «–args ~» falta en la captura de pantalla, pero que es necesario para evitar un error a la hora de lanzar spyder sin ningún tipo de archivo).
    Formas de invocar python y Spyder en OSX


    Guardar este script como una aplicación que se llama «SpyderOpener», por ejemplo.

    Hacer SpyderOpener la aplicación predeterminada para abrir .py archivos (usando el Buscador de «Obtener Información» de diálogo en una .py archivo)

    • Esto es genial, excepto que deja un Python proceso (con un icono genérico) que se ejecuta en el muelle, además de la Spyder. Alguna idea de cómo evitar que eso suceda?
    • Este icono adicional es debido a matplotlib ser cargado «interactiva» por spyder en el inicio. En Spyder, si desmarcas la opción Herramientas -> Preferencias> iPython consola -> Gráficos -> Activar (matplotlib), este molesto icono no aparecerá más.
    • El [email protected] en echo -e '#!/bin/bash'"\n /usr/local/bin/spyder3 [email protected]" generará un error al abrir Spyder desde el Launchpad. Sin embargo, si uso & entonces no hay ningún problema.
  3. 4

    Vaya a anaconda/bin, busque spyder (o IPython, etc.), y arrástrelo hasta el muelle, pero ponerlo en la sección de documentos en la final. A continuación, tendrás fácil acceso a ella, y cuando se hace clic en Mac OS X va a lanzar un shell que se ejecuta, y aparecerá en la sección de aplicaciones, de modo que usted puede traer a la aplicación que se ejecuta hacia adelante haciendo clic en él.

  4. 3

    Puede utilizar Automator para crear una Aplicación que se ejecute el Script de Unix. Abrir Automator cuando se le pregunta por el tipo de documento de poner «Aplicación»

    De búsqueda y haga clic en «Ejecutar Script de Shell». Usted puede salir de /bin/bash como es y escribe en el cuadro la ubicación de la araña (dado por escribir que spyder en el terminal). Luego de guardar el archivo y listo. Esto también elimina el problema que yo tenía cuando la terminal se ejecuta en segundo plano y le da una aplicación puede arrastrar hasta el muelle. También puede cambiar el logotipo de como se sugirió anteriormente.

    (Yo lo hice con Mac OS 10.10 y una Anaconda 2.3.0)

    • Gracias. Por desgracia, este tiene el mismo inconveniente para mí, como Thomas solución: cuando el programa se está ejecutando, el icono es un genérico de Python icono, no la Spyder icono, y me dan un segundo, shell-script-ish icono en el doc así. Todavía creo que algunas personas pueden preferir como una más de Apple-ish (y menos Unix-ish) de la solución.
  5. 2

    Puede abrir spyder señalando Azogue para ~/anaconda/bin/spyder (usted puede añadir a su catálogo, de modo que siempre se encuentra).

    • Gracias. ¿Cómo encontraste esto? Hay alguna manera puedo configurar el Proyector para que este se han mostrado hasta para mí cuando he buscado por «spyder»?
    • Así, los paquetes de Python con secuencias de comandos ejecutables siempre obtendrá sus scripts instalados en ~/anaconda/bin. De acuerdo a apple.stackexchange.com/questions/55116/…, que explícitamente no puede agregar carpetas a Spotlight. Como los comentaristas en que hilo indican, la atención es muy restrictiva, y ciertamente me gustaría recomendar el uso de Mercurio o Alfred.
    • Quicksilver ha sido aparentemente congelación en mí y finalmente me di cuenta (después de un embarassingly mucho tiempo) que la ejecución de Spyder fue la causa. Quicksilver estaba empezando Spyder como un comando de la shell, y así, esperando a que termine antes de que (Quicksilver) no responder a ninguna de entrada. Escribí un bash script que se ejecuta ~/anaconda/bin/spyder > /dev/null 2>&1 & e invoco a que la secuencia de comandos de Quicksilver en su lugar. Que resuelto el problema.
    • Wow, yo habría esperado de Quicksilver para hacerlo automáticamente. Tal vez plantear un problema con el Quicksilver desarrolladores.
  6. 0

    Un método muy sencillo que no requiere el uso de la Terminal es esencialmente para crear un spyder.paquete de la aplicación en Aplicaciones y copiar el spyder exec archivo de Anaconda en esta carpeta. Hacer clic sobre el paquete se ejecuta spyder como una aplicación, y usted puede hacer clic derecho en el icono del dock para mantener en el dock.

    A continuación son los paso a paso las instrucciones.

    Primero debemos crear el spyder.la carpeta de la aplicación en Aplicaciones:

    1. Abre la carpeta de Aplicaciones en el Finder.

    2. Haga clic derecho y crear «Nueva Carpeta».

    3. Nombre de la carpeta «spyder.app» y permitir que el .extensión de la aplicación.

    A continuación, copiamos el exec spyder archivo:

    1. En una nueva ventana del Finder, abra la carpeta de inicio (debería tener un simple dibujo de una casa con el icono). Un acceso directo es presionar shift+comando+H mientras que el Buscador está abierto.

    2. Abrir el anaconda3 carpeta y, a continuación, abra la carpeta llamada «bin».

    3. Busque el exec archivo llamado ‘la araña’, y haga clic para copiar el archivo.

    Nota: si anaconda3 no está instalado en su directorio de inicio, sólo la búsqueda para ‘anaconda3’ con el nombre exacto del archivo partidos en buscar y abrir el archivo.

    Pega el archivo exec en el spyder.paquete de la aplicación:

    1. En la ventana del Finder abierto para Aplicaciones, haga clic en el spyder.aplicación creada anteriormente y seleccionar «Mostrar Contenido del Paquete».

    2. Haga clic derecho en la ventana y pegar el archivo exec.

    Ahora, al volver a la carpeta Aplicaciones, haga doble clic en el spyder.paquete de la aplicación y spyder se deben ejecutar. Haga clic en el icono en el dock y seleccione «Mantener en el Dock» para mantener la aplicación en el dock cuando no se está ejecutando. También puede crear el icono de la aplicación como se indica en el 4 y 5 de la respuesta original.

    • Mientras que usted puede abrir la aplicación sin problema, un inconveniente que me doy cuenta es que las carpetas vacías seguir siendo creado en el directorio de inicio cada vez que se abre la aplicación – no estoy seguro de cómo solucionar este problema. ¿Alguien conoce?
  7. 0

    Creo que la forma más sencilla para el acceso a la spyder en macOS es a través de la terminal!
    se mantenga en el muelle de la terminal y cuando quieres abrir spyder, abre el terminal y teclea spyder en un terminal y, a continuación, volver clave!
    Me gusta este método porque cuando abro un terminal y pulse la flecha arriba una vez o pocas veces que me de acceso a la spyder y ejecutarlo con botón de regreso!
    Sé que es muy obvio y fácil método, pero yo quería recordarle!

Dejar respuesta

Please enter your comment!
Please enter your name here