如何使用conda环境为anaconda spyder设置不同的桌面发射器?

时间:2016-09-29 13:35:43

标签: python linux anaconda spyder conda

我已经创建了一个虚拟机,可用于即将开展的数据科学讲座。我将CentOS minimal安装到Virtualbox中并包含了一个XFCE桌面。我还使用Anaconda mini和conda环境管理器安装了两个分析堆栈python版本(2.7,3.5)。

我使用以下命令设置了除默认设置之外的另一个环境:

conda create --name py3datascience numpy pandas scikit-learn matplotlib beautifulsoup4 cairo hdf5 jupyter nltk patsy pytables pystan pymc requests sas7bdat seaborn sqlite statsmodels spyder

正如所料,我现在有一个名为py3datascience的额外环境。我可以使用以下命令从终端启动Spyder(连接到此环境):

source activate py3datascience
spyder

一切都按预期工作。我想创建一个桌面快捷方式来在这个特定的环境中启动Spyder(我将安装的Python 2.7的另一个桌面快捷方式),但我无法做到。

我使用以下命令创建了一个shell脚本:

source activate py3datascience
spyder

并将其放在/ home / user / scripts中。当我从终端运行此脚本时,它按预期工作(Spyder在正确的环境中启动)。我尝试创建一个运行此脚本的* .desktop文件,但它不起作用。它无法启动Spyder,但它也没有给我一个错误消息。以下是我失败的桌面文件的内容:

[Desktop Entry]
Version=1.0
Type=Application
Name=SpyderPy3
Comment=
Exec=/home/user1/scripts/SpyderPy3.sh
Icon=
Path=
Terminal=false
StartupNotify=true

我在conda命令创建的相应环境文件夹中找到了一个.desktop文件,它位于:

/home/user1/anaconda/envs/py3datascience/share/applications/spyder3.desktop

[Desktop Entry]
Version=1.0
Type=Application
Name=SpyderPy3
Comment=
Exec=/home/user1/scripts/SpyderPy3.sh
Icon=
Path=
Terminal=false
StartupNotify=true

我的Linux技能缺乏可能会出现,所以我正在寻求如何继续的帮助。基本问题是,在使用conda设置不同的环境后,如何在适当的Spyder安装中创建桌面或面板快捷方式(在linux中,特别是带有XFCE的CentOS)?终端中的以下命令可以实现此目的,但我需要一个面板或桌面快捷方式:

source activate py3datascience
spyder

1 个答案:

答案 0 :(得分:0)

经过一番研究,我发现了我的问题。

我需要创建一个* .desktop文件,其中包含以下内容:

[Desktop Entry]
Version=1.0
Type=Application
Name=Spyder py3
Comment=
Exec=xfce4-terminal -e "bash -c 'cd /home/user1/anaconda/bin;source activate py3ds;spyder'"
Icon=
Path=
Terminal=true
StartupNotify=false

一点解释......如果我打开终端shell并输入以下命令,则会激活环境,然后启动Spyder:

source activate py3ds
spyder

我不需要在任何特定目录中工作。但是,在创建.desktop文件并输入shell命令时,我需要首先cd到相应的目录,然后运行source activate。也许我也可以在source activate命令中指定完整路径。