将 spyder 与 virtualenv 一起使用



我是Python的新手,并且对一些基本概念进行了思考。我来自PHP背景。以下是我面临的问题的定义/细分:

我安装了anaconda,它在我的系统中安装了一大堆库和工具。这是我的"主蟒蛇环境">

然后我创建并加载了一个virtualenv.在这个虚拟环境中,我加载了一些我想要的软件包,如pip install simplekmlpip install ipython

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

我都试过了。我在虚拟环境中安装了spyder,然后在iPython控制台中安装了spyder,当我import simplekml出现错误时:

ModuleNotFoundError: No module named 'simplekml'

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

我已经为此苦苦挣扎了几个小时,因此非常感谢您提供的任何帮助!

建立在@carlos-科尔多瓦在他的评论中所说的话之上。如果你安装了 anaconda,我建议你创建一个 anaconda 环境,如下所示:

conda create --name pyflakes spyder simplekml ipython

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

然后,如果您使用的是Windows,则只需使用source activate pyflakesactivate pyflakes激活环境并从那里运行spyder即可。

有关 anaconda 环境的更多信息,请参阅文档。

编辑:添加虚拟环境示例。

对于用户虚拟环境,这应该有效:

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

您需要一个不同的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
我将其保存在虚拟环境的 bin 文件夹中作为 spyder3,因此当我调用 spyder3 时,它将首先将 sypder.ini替换为我想要的 sypder,并在关闭 spyder 时恢复原始 sypder。 -p 部分是可选的。

最新更新