我是Python
的新手,并且对一些基本概念进行了思考。我来自PHP
背景。以下是我面临的问题的定义/细分:
我安装了anaconda
,它在我的系统中安装了一大堆库和工具。这是我的"主蟒蛇环境">
然后我创建并加载了一个virtualenv
.在这个虚拟环境中,我加载了一些我想要的软件包,如pip install simplekml
,pip 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 pyflakes
或activate 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 部分是可选的。