O iniciador de área de trabalho do Anaconda-Navigator falha ao iniciar o aplicativo


8

Eu instalei recentemente o Anaconda no meu sistema Xubuntu 16.04. Para iniciar o aplicativo a partir de um terminal, eu simplesmente o uso anaconda-navigatore ele funciona de maneira brilhante.

Agora eu queria criar um iniciador de área de trabalho para o mesmo e adicioná-lo ao meu menu do xfce Whisker também. Então, eu criei um iniciador de área de trabalho com o seguinte conteúdo.

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

Mas quando tento abrir o aplicativo a partir do iniciador, sou direcionado para um arquivo HTML local com a seguinte mensagem de erro:

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

Pela minha vida, não consigo descobrir por que isso está acontecendo ou o que devo fazer.

Por favor, informe.


NOTA:

Antes de relatar esta pergunta como uma duplicata (como esta ), observe que não estou pedindo instruções sobre como criar lançadores de desktop. Pesquisei um zilhão de vezes em vários fóruns online para encontrar uma solução, mas falhei.

Respostas:


10

Parece que o .bashrcambiente falha ao carregar com o iniciador da área de trabalho. É por isso que você precisa especificar manualmente $PATHo comando que deseja executar. Tente editar o arquivo da área de trabalho (ou crie um novo Anaconda.desktoparquivo, se você excluiu o antigo) com o seguinte conteúdo.

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

Você notou a diferença? Leia este artigo sobre a anatomia de um .desktoparquivo para saber mais.


Para adicionar o aplicativo ao menu de aplicativos, basta copiar o arquivo da área de trabalho para /usr/share/applications. Para fazer isso, inicie um terminal e navegue até o diretório em que o arquivo da área de trabalho está localizado e digite o seguinte comando.

sudo cp Anaconda.desktop /usr/share/applications

Obviamente, você deve substituir o nome Anaconda acima por qualquer nome que tenha dado ao seu arquivo da área de trabalho. Espero que isto ajude.

Felicidades!


1
Isso funciona bem, exceto por Icon=spyder3mim, tive que fazer um locate -i 'anaconda-logo' e usar o resultado como ícone.
Aristu 11/09

Existe um "Lançador de desktop" oficial para o Anaconda? Por que eles não fornecem algo?
Royi 28/10

No editor de menus do xfce (menulibre) pode simplificar a tarefa, apenas o link ausente estava na exportinstrução. @Royi, existe um projeto chamado ContinuumIO / menuinst no github para fazer uma instalação de item de menu de plataforma cruzada, mas ainda não está maduro. Por enquanto, devemos esperar por uma porta em alguma atualização futura.
Codegenki 19/03/19

Em vez de copiar o arquivo para /usr/share/applications/você, basta executá sudo desktop-file-install Anaconda.desktop-lo.
Addohm 8/11
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.