Anaconda-Navigator не запускается приложение на рабочем столе

8

Я недавно установил Anaconda на свою систему Xubuntu 16.04. Чтобы запустить приложение из терминала, я просто использую, anaconda-navigatorи это прекрасно работает.

Теперь я хотел создать для него настольный лаунчер и добавить его в свое меню xfce Whisker. Поэтому я создал настольный лаунчер со следующим содержимым.

[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;

Но когда я пытаюсь открыть приложение из панели запуска, меня перенаправляют на локальный файл HTML со следующим сообщением об ошибке:

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

Я не могу понять, почему это происходит, или что я должен делать.

Добрый совет.


НОТА:

Прежде чем сообщать об этом вопросе как о дубликате (например, об этом ), обратите внимание, что я не спрашиваю инструкции о том, как создавать настольные программы запуска. Я искал миллионы раз на нескольких онлайн-форумах, чтобы найти решение, но мне не удалось.

Foshiba
источник

Ответы:

10

Кажется, что .bashrcсреда не загружается с вашего рабочего стола. Вот почему вам нужно вручную указать $PATHкоманду, которую вы хотите выполнить. Попробуйте отредактировать файл рабочего стола (или создайте новый Anaconda.desktopфайл, если вы удалили старый) со следующим содержимым.

[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;

Вы заметили разницу? Прочтите эту статью об анатомии .desktopфайла, чтобы узнать больше.


Чтобы добавить приложение в меню приложений, просто скопируйте файл рабочего стола в /usr/share/applications. Для этого запустите терминал и перейдите в каталог, где находится файл вашего рабочего стола, а затем введите следующую команду.

sudo cp Anaconda.desktop /usr/share/applications

Очевидно, что вы должны заменить имя Anaconda выше любым именем, которое вы дали файлу рабочего стола. Надеюсь это поможет.

Ура!

Foshiba
источник
1
Это прекрасно работает, кроме Icon=spyder3меня, пришлось сделать locate -i 'anaconda-logo' и использовать результат в качестве значка.
Аристу
Есть ли официальный "Desktop Launcher" для Anaconda? Почему они не предоставляют что-то?
Рой
В редакторе меню xfce (menulibre) можно упростить задачу, только отсутствующей ссылкой было exportутверждение. @Royi, на github есть проект ContinuumIO / menuinst для установки кроссплатформенного пункта меню, но он еще не закончен. На данный момент мы должны ждать порт в некоторых будущих обновлениях.
codegenki
Вместо копирования файла /usr/share/applications/вы можете просто запустить sudo desktop-file-install Anaconda.desktopфайл.
Addohm