我是Python
的新手,围绕着一些基本概念。我来自PHP
背景。以下是我所面临的问题的定义/细分:
我安装了anaconda
,它在我的系统中安装了大量的库和工具。这是我的主要python环境"
然后我创建并加载了virtualenv
。在这个virtualenv中我加载了一些我想要的包pip install simplekml
,pip 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?
我一直在努力工作几个小时,所以您提供的任何帮助都非常感谢!
答案 0 :(得分:0)
以@ carlos-cordoba在评论中所说的为基础。如果你安装了anaconda,我建议你创建一个anaconda环境:
conda create --name pyflakes spyder simplekml ipython
这将创建一个安装了spyder,simpleklm和ipython的环境pyflakes
。
然后,如果您在Windows上并从那里运行spyder,则必须使用source activate pyflakes
或activate 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
答案 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