我正在使用Python 2.6,Excel 2007 Professional和最新版本的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.
有帮助吗?

解决方案

我怀疑这是因为您正在使用numpy的当前分布。当前版本的问题有一个问题,这意味着它不能嵌入Excel中。

为了解决此问题,您需要使用CFF资源管理器或任何其他PE编辑器从Numpy PYD文件中删除清单资源。

Ention意识到这一点,并正在研究这个问题。

您可以从Numpy网站下载的版本可以与Pyxll一起使用。

如果您还有其他问题,请随时发送电子邮件至support@pyxll.com或在PYXLL论坛上发布。

问候,

托尼

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top