Spyder中的virtualenv IPython无法工作

11

我已经在Linux上安装了Spyder(确切地说是Mint 17),并创建了一个科学的虚拟环境(sci),其中包括ipython、numpy等。我的想法是为Python 2 / Python 3更改我的虚拟环境,并比安装整个Anaconda / python(x,y)更灵活。现在我在让ipython在Spyder中运行时遇到了问题。

我去了

Tools->Preferences->Console->Advanced settings

使用以下Python解释器

 /home/mike/envs/sci/bin/ipython

但这并没有启动IPython。它会响应:

...
Execute the given command[TerminalIPythonApp] CRITICAL | Bad config     encountered during initialization:
[TerminalIPythonApp] CRITICAL | Unrecognized flag: '-u'
...
它还没有显示“在控制台下打开IPython控制台”。你有什么想法我漏了什么吗?谢谢,Mike。

2
请使用以下Python解释器:/home/mike/envs/sci/bin/ipython,这是一个ipython解释器,而不是python解释器 :) - cel
我明白你的意思,但如何启动并运行IPython呢?Mike - Mike
你尝试过直接输入“/home/mike/envs/sci/bin/python”吗?我不能保证,但很可能spyder会负责启动“ipython”。 - cel
@cel 是正确的,你需要指向 Python 解释器。 - Roberto
3个回答

7
在正确输入了虚拟环境中Python解释器的路径(例如/home/mike/envs/sci/bin/python而不是/home/mike/envs/sci/bin/ipython)之后,您只需要转到菜单

Consoles > Open an IPython console

,只要您在虚拟环境中安装了IPython和PyQt/PySide,就会为您打开一个使用虚拟环境中IPython版本的IPython控制台。

1
在Linux下的spyder v 3.1.3中,工具->首选项->控制台->高级设置似乎不再有使用以下Python解释器选项。 - Laurence Billingham
2
@LaurenceBillingham,该选项已经在Spyder 3中移至“工具>首选项>Python解释器”。对于造成的困扰,我们深感抱歉。 - Carlos Cordoba

2
以下链接中描述了该过程的详细步骤:

https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder

推荐使用spyder-kernels安装模块化方法:
  1. 激活您想要工作的环境(例如: source env/bin/activate)
  2. 通过输入以下命令在环境中安装内核: pip install spyder-kernels==0.*
  3. 获取要使用的解释器路径,输入以下命令: python -c "import sys;print(sys.executable)"
  4. 复制此路径
  5. 在菜单中输入路径:

Preferences > Python Interpreter > Use the following interpreter

这应该可以正常工作,祝您编码愉快!

0
以上的解决方案对我没有用。 对我有用的是遵循文档中的指南: https://docs.spyder-ide.org/ipythonconsole.html#connect-to-an-external-kernel 1)打开终端并激活您的虚拟环境 2)仍在终端中,运行命令:python -m spyder_kernels.console,您将收到类似以下消息的提示:
To connect another client to this kernel, use:
--existing kernel-28340.json

3) 要找到此 JSON 文件的位置,请在 Spyder 中运行以下命令:

from jupyter_core import paths
paths.jupyter_runtime_dir()

对我来说,它是c:\Users[myuser]\AppData\Roaming\jupyter\runtime\

4) 在jupyter中,从菜单中点击 "Consoles => Connect to an existing kernel"。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接