Program uruchamiający Anaconda-Navigator nie uruchamia się

8

Niedawno zainstalowałem Anaconda na moim systemie Xubuntu 16.04. Aby uruchomić aplikację z terminala, po prostu używam anaconda-navigatori działa doskonale.

Teraz chciałem stworzyć program uruchamiający pulpit dla tego samego i dodać go również do mojego menu xfce Whisker. Więc stworzyłem program uruchamiający na pulpicie z następującą zawartością.

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

Ale kiedy próbuję otworzyć aplikację z programu uruchamiającego, zostajesz przekierowany do lokalnego pliku HTML z następującym komunikatem o błędzie:

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

Nie mogę z mojego życia dowiedzieć się, dlaczego tak się dzieje ani co powinienem zrobić.

Uprzejmie doradzam.


UWAGA:

Przed zgłoszeniem tego pytania jako duplikatu (takiego jak to ) pamiętaj, że nie pytam o instrukcje dotyczące tworzenia programów uruchamiających na pulpicie. Szukałem zillion razy na kilku forach internetowych, aby znaleźć rozwiązanie, ale mi się nie udało.

Foshiba
źródło

Odpowiedzi:

10

Wygląda na to, że .bashrcśrodowisko nie ładuje się wraz z programem uruchamiającym pulpit. Dlatego musisz ręcznie określić $PATHpolecenie, które chcesz wykonać. Spróbuj edytować plik na pulpicie (lub utwórz nowy Anaconda.desktopplik, jeśli usunąłeś stary) z następującą zawartością.

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

Czy zauważyłeś różnicę? Przeczytaj ten artykuł na temat anatomii .desktoppliku, aby dowiedzieć się więcej.


Aby dodać aplikację do menu aplikacji, po prostu skopiuj plik pulpitu do /usr/share/applications. W tym celu uruchom terminal i przejdź do katalogu, w którym znajduje się plik pulpitu, a następnie wpisz następujące polecenie.

sudo cp Anaconda.desktop /usr/share/applications

Oczywiście musisz zastąpić nazwę Anaconda powyżej dowolną nazwą nadaną plikowi pulpitu. Mam nadzieję że to pomoże.

Twoje zdrowie!

Foshiba
źródło
1
Działa to dobrze, z wyjątkiem Icon=spyder3mnie, musiałem zrobić locate -i 'anaconda-logo' i użyć wyniku jako ikony.
Aristu,
Czy istnieje oficjalny „Desktop Launcher” dla Anacondy? Dlaczego czegoś nie dostarczają?
Royi
W edytorze menu xfce (menulibre) można uprościć zadanie, brakowało tylko linku export. @Royi na github istnieje projekt o nazwie ContinuumIO / menuinst, który ma na celu instalację elementów menu na różnych platformach, ale nie jest jeszcze dojrzały. Na razie powinniśmy poczekać na port w przyszłej aktualizacji.
codegenki
Zamiast kopiować plik /usr/share/applications/, możesz po prostu uruchomić sudo desktop-file-install Anaconda.desktopplik.
addohm,