El iniciador de escritorio Anaconda-Navigator no puede iniciar la aplicación

8

Recientemente instalé Anaconda en mi sistema Xubuntu 16.04. Para iniciar la aplicación desde una terminal, simplemente la uso anaconda-navigatory funciona de manera brillante.

Ahora quería crear un iniciador de escritorio para el mismo y agregarlo a mi menú de xfce Whisker también. Así que creé un lanzador de escritorio con el siguiente contenido.

[Desktop Entry]
Version=1.0
Type=Application
Name=Anaconda-Navigator
GenericName=Anaconda
Comment=Scientific PYthon Development EnviRonment - Python3
Exec=/home/meghana/anaconda3/bin/anaconda-navigator
Categories=Development;Science;IDE;Qt;
Icon=spyder3
Terminal=false
StartupNotify=true
MimeType=text/x-python;

Pero cuando intento abrir la aplicación desde el iniciador, me dirijo a un archivo HTML local con el siguiente mensaje de error:

Navigator Error

An unexpected error occurred on Navigator start-up

Report

Please report this issue in the anaconda issue tracker

Main Error

byte indices must be integers or slices, not str
Traceback

Traceback (most recent call last):
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/exceptions.py", line 75, in exception_handler
     return_value = func(*args, **kwargs)
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/app/start.py", line 115, in start_app
     window = run_app(splash)
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/app/start.py", line 58, in run_app
     window = MainWindow(splash=splash)
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/widgets/main_window.py", line 160, in __init__
     self.api = AnacondaAPI()
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/api/anaconda_api.py", line 1205, in AnacondaAPI
     ANACONDA_API = _AnacondaAPI()
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/api/anaconda_api.py", line 65, in __init__
     self._conda_api = CondaAPI()
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/api/conda_api.py", line 1622, in CondaAPI
     CONDA_API = _CondaAPI()
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/api/conda_api.py", line 340, in __init__
     self.set_conda_prefix()
  File "/home/meghana/anaconda3/lib/python3.6/site-
  packages/anaconda_navigator/api/conda_api.py", line 489, in set_conda_prefix
     self.ROOT_PREFIX = info['root_prefix']
  TypeError: byte indices must be integers or slices, not str

Por mi vida, no puedo entender por qué sucede esto, o qué debo hacer.

Consejo amable.


NOTA:

Antes de informar esta pregunta como un duplicado (como este ), tenga en cuenta que no estoy pidiendo instrucciones sobre cómo crear lanzadores de escritorio. He buscado miles de millones de veces en varios foros en línea para encontrar una solución, pero he fallado.

Foshiba
fuente

Respuestas:

10

Parece que el .bashrcentorno no se carga con su iniciador de escritorio. Es por eso que necesita especificar manualmente $PATHel comando que desea ejecutar. Intente editar su archivo de escritorio (o cree un nuevo Anaconda.desktoparchivo, si ha eliminado el anterior) con el siguiente contenido.

[Desktop Entry]
Version=1.0
Type=Application
Name=Anaconda-Navigator
GenericName=Anaconda
Comment=Scientific PYthon Development EnviRonment - Python3
Exec=bash -c 'export PATH="/home/meghana/anaconda3/bin:$PATH" && /home/meghana/anaconda3/bin/anaconda-navigator'
Categories=Development;Science;IDE;Qt;Education;
Icon=spyder3
Terminal=false
StartupNotify=true
MimeType=text/x-python;

¿Notaste la diferencia? Lea este artículo sobre la anatomía de un .desktoparchivo para obtener más información.


Para agregar la aplicación a su menú de aplicaciones, simplemente copie el archivo de escritorio /usr/share/applications. Para hacerlo, encienda una terminal y navegue hasta el directorio donde se encuentra su archivo de escritorio, luego escriba el siguiente comando.

sudo cp Anaconda.desktop /usr/share/applications

Obviamente, debe reemplazar el nombre de Anaconda anterior por el nombre que haya dado a su archivo de escritorio. Espero que esto ayude.

¡Salud!

Foshiba
fuente
1
Esto funciona bien, a excepción de Icon=spyder3mí, tuve que hacer ay locate -i 'anaconda-logo' usar el resultado como Icon.
Aristu
¿Existe un "Lanzador de escritorio" oficial para Anaconda? ¿Por qué no proporcionan algo?
Royi
En xfce menu editor (menulibre) puede simplificar la tarea, solo faltaba el enlace era la exportdeclaración. @Royi hay un proyecto llamado ContinuumIO / menuinst en github para realizar una instalación de elementos de menú multiplataforma, pero aún no está maduro. Por ahora deberíamos esperar un puerto en alguna actualización futura.
codegenki
En lugar de copiar el archivo /usr/share/applications/, simplemente puede ejecutarlo sudo desktop-file-install Anaconda.desktop.
addohm