通过PyXLL加载scipy遇到问题 - 有人成功过吗?
我正在使用Python 2.6、Excel 2007专业版和最新版本的PyXLL。当我在PyXLL中加载一个模块时,
import scipy
出现了一个异常,导致模块无法加载。有没有人成功在PyXLL中加载Scipy?这可能是版本问题吗?抛出的异常是:
2010-12-21 17:21:30,915 - ERROR : Error importing 'options': DLL load failed: A dynamic link library (DLL) initialization routine failed.
2010-12-21 17:21:30,915 - ERROR : Traceback (most recent call last):
2010-12-21 17:21:30,915 - ERROR : File "pyxll", line 402, in _open
2010-12-21 17:21:30,915 - ERROR : File "C:\Dev\libs\pyxll\examples\options.py", line 15, in <module>
2010-12-21 17:21:30,915 - ERROR : import scipy
2010-12-21 17:21:30,915 - ERROR : File "C:\Python26\lib\site-packages\scipy\__init__.py", line 78, in <module>
2010-12-21 17:21:30,915 - ERROR : from numpy import show_config as show_numpy_config
2010-12-21 17:21:30,915 - ERROR : File "C:\Python26\lib\site-packages\numpy\__init__.py", line 138, in <module>
2010-12-21 17:21:30,915 - ERROR : import add_newdocs
2010-12-21 17:21:30,915 - ERROR : File "C:\Python26\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
2010-12-21 17:21:30,930 - ERROR : from lib import add_newdoc
2010-12-21 17:21:30,930 - ERROR : File "C:\Python26\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
2010-12-21 17:21:30,930 - ERROR : from type_check import *
2010-12-21 17:21:30,930 - ERROR : File "C:\Python26\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
2010-12-21 17:21:30,930 - ERROR : import numpy.core.numeric as _nx
2010-12-21 17:21:30,930 - ERROR : File "C:\Python26\lib\site-packages\numpy\core\__init__.py", line 5, in <module>
2010-12-21 17:21:30,930 - ERROR : import multiarray
2010-12-21 17:21:30,930 - ERROR : ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
1 个回答
7
我怀疑这是因为你在使用Enthought版本的NumPy。现在这个版本有个问题,导致它不能嵌入到Excel里。
要解决这个问题,你需要用cff explorer或者其他PE编辑器,把numpy的pyd文件中的清单资源去掉。
Enthought已经知道这个问题,并且正在研究解决办法。
你可以从numpy官网上下载的版本和PyXLL配合使用是没问题的。
如果你还有其他问题,随时可以发邮件到support@pyxll.com,或者在PyXLL论坛上发帖。
祝好,
Tony