Python 2.7 Abaqus中的Scipy优化:导入错误:DLL加载失败:%1不是有效的Win32应用程序

Python 2.7 Abaqus中的Scipy优化:导入错误:DLL加载失败:%1不是有效的Win32应用程序,python-2.7,scipy,abaqus,Python 2.7,Scipy,Abaqus,我在Abaqus 6.14-3中使用python编写脚本,并希望使用scipy包中的优化函数。此版本的abaqus使用python 2.7.3(64位)运行,并安装了numpy 1.6.2。所以我安装了scipy0.9.0(32位),我认为这是兼容的版本 尝试导入优化时出现以下错误: from scipy import optimize File "C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site-packages\scipy\opt

我在Abaqus 6.14-3中使用python编写脚本,并希望使用scipy包中的优化函数。此版本的abaqus使用python 2.7.3(64位)运行,并安装了numpy 1.6.2。所以我安装了scipy0.9.0(32位),我认为这是兼容的版本

尝试导入优化时出现以下错误:

from scipy import optimize
File "C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site-packages\scipy\optimize\__init__.py", line 7, in <module>
from optimize import *
File "C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site-packages\scipy\optimize\optimize.py", line 28, in <module>
from linesearch import \
File "C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site-packages\scipy\optimize\linesearch.py", line 1, in <module>
from scipy.optimize import minpack2
ImportError: DLL load failed: %1 is not a valid Win32 application.
从scipy导入优化
文件“C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site packages\scipy\optimize\\uuuuuu init\uuuuuu.py”,第7行,在
从优化导入*
文件“C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site packages\scipy\optimize\optimize.py”,第28行,在
从linesearch导入\
文件“C:\SIMULIA\Abaqus\6.14-3\tools\SMApy\python2.7\lib\site packages\scipy\optimize\linesearch.py”,第1行,在
从scipy.optimize导入minpack2
ImportError:DLL加载失败:%1不是有效的Win32应用程序。
从这个错误代码的其他问题来看,我认为不同的位版本可能是问题所在。我不确定是否有可能将pyhton更改为32位版本。另外,我不确定numpy是什么位版本

如果您能提供有关numpy的bit版本以及如何安装兼容版本的任何建议,我将不胜感激。

“正常”CPython 2.7是使用MSVC 15(Visual Studio 2008)编译的,当您在命令窗口中打开解释器时可以看到。 Abaqus Python是使用MSVC 16(Visual Studio 2010)编译的。 所有需要编译的Python模块都不是二进制兼容的

因此,您至少有三种可能性:

  • 找到一个SciPy模块,它是用MSVC16为Python2.7编译的。python 2.7使用MSVC 16构建的模块很难找到。可能您找不到正确的预编译SciPy版本。可以在此处找到一些模块,例如:

  • 使用MSVC 16从源代码构建SciPy(和一些依赖项)。

  • 仅使用Abaqus Python提取数据。将数据保存到*.npy或*.npz文件中,并将数据加载到标准Python解释器中,您可以轻松访问预编译模块