【问题标题】:How to set up different desktop launchers for anaconda spyder using conda environments?如何使用 conda 环境为 anaconda spyder 设置不同的桌面启动器?
【发布时间】:2017-02-07 20:53:58
【问题描述】:

我创建了一个虚拟机,用于即将举行的数据科学讲座。我将 CentOS 最小化安装到 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 设置不同的环境后,如何创建桌面或面板快捷方式(在 linux 中,特别是带有 XFCE 的 CentOS)到适当的 Spyder 安装?终端中的以下命令可以完成此操作,但我需要一个面板或桌面快捷方式:

source activate py3datascience
spyder

【问题讨论】:

    标签: python linux anaconda spyder conda


    【解决方案1】:

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

    我需要创建一个包含以下内容的 *.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
    

    有点解释...如果我打开终端外壳并输入以下命令,环境被激活,然后 Spyder 被启动:

    source activate py3ds
    spyder
    

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

    【讨论】:

    • 这不起作用。窗口弹了一会儿又消失了。
    【解决方案2】:

    路径同时发生了变化,co_biostat 的答案 (https://stackoverflow.com/a/39799876/7235455) 中的 Exec 行可以简化。对于像我这样正在寻找更新版本的人,这是我的 .desktop 文件:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=Spyder 5
    GenericName=Spyder 5
    Comment=The Scientific Python Development Environment
    TryExec=/home/xxx/anaconda3/bin/spyder
    Exec=/home/xxx/anaconda3/bin/spyder %F
    Categories=Development;Science;IDE;Qt;
    Icon=/home/xxx/anaconda3/share/icons/spyder.png
    Terminal=false
    StartupNotify=true
    MimeType=text/x-python;
    

    假设您将 Anaconda 安装在默认位置,只需将 TryExecExecIcon 行中的“xxx”替换为您的用户名即可。如果您安装在自定义位置,请相应更改路径。

    【讨论】:

      猜你喜欢
      • 2018-01-19
      • 2019-05-28
      • 1970-01-01
      • 2020-08-16
      • 2019-01-15
      • 2022-01-18
      • 2018-06-14
      • 2021-11-26
      • 1970-01-01
      相关资源
      最近更新 更多