如何使用 conda 环境为 anaconda spyder 设置不同的桌面启动器?
Posted
技术标签:
【中文标题】如何使用 conda 环境为 anaconda spyder 设置不同的桌面启动器?【英文标题】:How to set up different desktop launchers for anaconda spyder using conda environments? 【发布时间】: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
【问题讨论】:
【参考方案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://***.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 安装在默认位置,只需将 TryExec
、Exec
和 Icon
行中的“xxx”替换为您的用户名即可。如果您安装在自定义位置,请相应更改路径。
【讨论】:
以上是关于如何使用 conda 环境为 anaconda spyder 设置不同的桌面启动器?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Anaconda (Conda) 环境中跟踪 pip 安装的软件包?