4 votos

Crear icono de muelle para Spyder (instalado con Anaconda)

¿Cómo puedo crear un único icono en el dock para una aplicación que se lanza a través del Terminal?

He instalado spyder usando anaconda. Puedo crear una aplicación de lanzamiento usando Platypus (ver esto responder ). Pero la aplicación spyder en sí abre un nuevo (feo) icono en el dock con la etiqueta "Python" al lado: dock icons

La confusión comienza cuando quiero cambiar a la aplicación Spyder: Tengo que hacer clic en el icono de Python y no en el de Spyder...

3voto

klanomath Puntos 19587

El ornitorrinco no es necesariamente necesario para añadir un icono al spyder:

Iniciar el spyder en la CLI es un proceso de dos etapas:

~/anaconda/bin/spyder es un shell script que ejecuta la "aplicación proxy" ~/anaconda/bin/Python.app que a su vez lanza otra "aplicación proxy" ~/anaconda/Python.app/Contents/MacOS/Python incluyendo un argumento.


Dado que el último shell script reside en un paquete de aplicaciones, puedes añadir simplemente un icono:

Las dos aplicaciones proxy son "envoltorios/lanzadores" para todas las demás aplicaciones científicas de Python incluidas en Anaconda. No quieres romper Anaconda - por lo tanto tienes que crear dos lanzadores "sólo para el espía".

Haz una copia de ~/anaconda/bin/Python.app: ~/anaconda/bin/Python.spyder.app y cambia el shell script dentro (¡no olvides cambiar también el usuario en la ruta!).

#!/bin/bash
export PYTHONEXECUTABLE=/Users/user/anaconda/bin/python
/Users/user/anaconda/python.spyder.app/Contents/MacOS/python "$@"

Luego crea una copia de ~/anaconda/Python.app: ~/anaconda/Python.spyder.app y añádele un icono.

Inicie desde la Terminal el comando spyder lanzará Python.spyder.app con el icono personalizado.

Ahora puedes usar Platypus para crear una aplicación para lanzar spyder (en lugar de utilizar Terminal.app). Utilice la siguiente configuración:

Platypus spyder

Esto puede romperse después de una actualización de Anaconda o de un spyder.


No creo que puedas ejecutar spyder con un solo icono del Dock (con el lanzador de spyder Platypus como elemento permanente del Dock) porque la propia Python.spyder.app/Python.app es una envoltura para spyder de nuevo. Así que después de pulsar el icono de la aplicación spyder de Platypus en el Dock siempre obtendrá un segundo icono de spyder - la razón por la que su solución muestra el icono de Python.app por defecto.

0voto

unknowndomain Puntos 1741

Esta pregunta es más una pregunta de programación que de usabilidad, sin embargo probablemente tendría que hacerse de forma programática ya que MacOS normalmente busca el icono dentro de la Aplicación como parte de un archivo .plist, y tu aplicación no lo tiene presumiblemente porque se está ejecutando desde la línea de comandos como un script.

Echa un vistazo: Cambiar el icono, el título y las etiquetas del menú de la aplicación Cocoa en tiempo de ejecución

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X