问题:
在Spyder中运行python脚本时,无法导入pygraphviz。以下代码:
import pygraphviz
给出以下错误
ImportError: DLL load failed: %1 is not a valid Win32 application.
此行为仅在Spyder中发生。从命令行运行python时,一切正常。
可能的解决方案方向:
该错误消息似乎表明需要32位软件包。我的python版本(与Anaconda一起安装)是64位的,如果我查看pygraphviz,则以下代码将生成错误:
import imp
imp.load_dynamic('_graphviz','C:\\Users\\myname\\AppData\\Local\\Continuum\\anaconda3\\envs\\p3.6\\lib\\site-packages\\pygraphviz\\_graphviz.cp36-win_amd64.pyd')
似乎要导入64位程序包。如果我的理解是正确的,那么从Spyder运行时,由于某种原因,应该使用32位软件包。我不知道为什么,因为我认为如果我的Python版本是64位,那么我的Spyder版本也会一样,因为它们都是由Anaconda安装的。但是,可能的解决方案是以某种方式使用32位程序包,或使Spyder与64位程序包一起使用。
虽然这只是我的猜测,但是我不知道我的假设是否正确,所以如果没有任何意义,请随时忽略。
谢谢!