我已经安装了 Anaconda(x64 Linux)并且正在运行它的 Python 3。
当我打字时which python
,我得到
/home/hinckelbc/anaconda3/bin/python
现在要显示版本,我输入python -V
,然后我得到
Python 3.6.4 :: Anaconda, Inc.
这是正常的,因为我正在从 Anaconda 运行 Python 3
如果我通过简单地输入从终端启动 Spyder spyder
,它就会启动,并且我会看到 Python 解释器确实是来自 Anaconda 的 Python 3,如下所示:
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
Type "copyright", "credits" or "license" for more information.
IPython 6.2.1 -- An enhanced Interactive Python.
!which python
/home/hinckelbc/anaconda3/bin/python
! python -V
Python 3.6.4 :: Anaconda, Inc.
我的机器上运行的Spyder如下:
hinckelbc@BCArg:~$ which spyder
/home/hinckelbc/anaconda3/bin/spyder
为了避免一直打开终端并输入spyder
,我创建了以下spyder.desktop
文件~/.local/share/applications/spyder.desktop
,如下所示:
[Desktop Entry]
Type=Application
Name=Spyder
Exec=/home/hinckelbc/anaconda3/bin/spyder
Icon=/home/hinckelbc/anaconda3/pkgs/spyder-3.2.6-py36_0/info/icon.png
Terminal=false
然后我可以用 Super 键找到 Spyder,然后通过拖放将其添加到启动器中(Gnome 3,Ubuntu 17.10)
但是,当我通过单击图标打开 Spyder 时,现在在我的收藏夹中,我得到:
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
Type "copyright", "credits" or "license" for more information.
IPython 6.2.1 -- An enhanced Interactive Python.
! which python
/usr/bin/python
! python -V
Python 2.7.14
这与python解释器我在Spyder上手动设置,如下图:
有谁知道如何解决这个问题,即使用我创建并添加到收藏夹的桌面图标在 Spyder 上运行 Python 3?
答案1
您的环境不同。
spyder 终端从其父级 Spyder 进程继承了 PATH 变量,该进程具有不同的环境: - 从 PATH 启动 spyder 时是 shell 之一,由于您的 .bashrc / .zshrc,它包含 .../conda/bin - 从 .desktop 启动时,环境是带有 /etc/profile 的环境(也许是 .profile?)
简而言之,一个解决方案是通过你的 shell 启动:
Exec='bash -c .../spyder'
...并确保将 conda/bin 添加到 .bash_profile 中的 PATH,或者查看[How to load .bashrc from “bash -c”][1]
。