使用spyder与virtualenv

时间:2017-06-06 12:08:42

标签: python ipython spyder

我是Python的新手,围绕着一些基本概念。我来自PHP背景。以下是我所面临的问题的定义/细分:

我安装了anaconda,它在我的系统中安装了大量的库和工具。这是我的主要python环境"

然后我创建并加载了virtualenv。在这个virtualenv中我加载了一些我想要的包pip install simplekmlpip install ipython

现在我解雇了开放spyder并在iPython控制台中尝试了import simplekml,它给了我一个导入错误。我在网上读到了这个问题,并且说在spyder中我需要指向我的virtualenv中的python(使用工具>首选项> python解释器),或者我应该从我的virtualenv做一个pip install spyder并使用该版本。

我试过了两个。我在我的virtualenv中安装了spyder,然后在我import simplekml时在iPython控制台中安装了错误:

ModuleNotFoundError: No module named 'simplekml'

如果我去终端并打开iPython并输入相同的内容,那么它可以正常工作。如何将该终端加载到spyder?

我一直在努力工作几个小时,所以您提供的任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:0)

以@ carlos-cordoba在评论中所说的为基础。如果你安装了anaconda,我建议你创建一个anaconda环境:

conda create --name pyflakes spyder simplekml ipython

这将创建一个安装了spyder,simpleklm和ipython的环境pyflakes

然后,如果您在Windows上并从那里运行spyder,则必须使用source activate pyflakesactivate pyflakes激活环境。

有关anaconda环境的更多信息,请参阅documentation

编辑:添加virtualenv示例。

对于用户virtualenv,这应该有效:

$ pip install virtualenv
$ cd my_project_folder
$ virtualenv my_project
$ source my_project/bin/activate
$ pip install spyder simpleklm ipython

Source

答案 1 :(得分:0)

对于每个虚拟环境,您都需要一个不同的 spyder.ini 文件。 在这个文件中,spyder 保存了要使用的 Python 解释器等。 我没有找到一个命令行选项来指定要使用哪个 spyder.ini 所以我创建了一个小的 bash 脚本:

enter code here`echo "Starting spyder with my spyder.ini..." cp ~/.config/spyder-py3/spyder.ini temp.spyder.ini cp /spyder.ini ~/.config/spyder-py3/spyder.ini echo "Starting spyder..." /usr/bin/spyder3 --new-instance -p echo "Spyder closed. Restoring original spyder.ini" cp ~/.config/spyder-py3/spyder.ini /spyder.ini cp temp.spyder.ini ~/.config/spyder-py3/spyder.ini rm temp.spyder.ini
我将它作为 spyder3 保存在我的虚拟环境的 bin 文件夹中,因此当我调用 spyder3 时,它将首先替换我想要的 sypder.ini 并在我关闭 spyder 时恢复原始的。 -p 部分是可选的。