我最近在我的 Xubuntu 16.04 系统上安装了 Anaconda。要从终端启动该应用程序,我只需使用,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
我无论如何也想不通为什么会发生这种事,或者我该怎么办。
好心提醒。
笔记:
在将此问题报告为重复问题之前(例如这个),请注意,我不是在询问如何创建桌面启动器的说明。为了找到解决方案,我已经在多个在线论坛上搜索了无数次,但都失败了。
答案1
似乎.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
显然,你必须更换名称蟒蛇上面的名称是您为桌面文件指定的任何名称。希望这对您有所帮助。
干杯!