3 votes

Optimisation Scipy dans Abaqus : ImportError : Le chargement de la DLL a échoué : %1 n'est pas une application Win32 valide.

J'utilise python pour les scripts dans Abaqus 6.14-3 et j'aimerais utiliser une fonction d'optimisation du paquet scipy. Cette version d'Abaqus fonctionne avec python 2.7.3 (64bit) et a installé numpy 1.6.2. J'ai donc installé scipy 0.9.0 (32bit), qui me semble être la version compatible.

En essayant d'importer l'optimisation, j'obtiens l'erreur suivante :

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.

D'après d'autres questions sur ce code d'erreur, je suppose que les différentes versions de bits peuvent être à l'origine du problème. Je ne suis pas sûr qu'il soit possible de changer pyhton pour la version 32bit. De même, je ne suis pas sûr de la version bit de numpy.

J'apprécierais toute suggestion pour trouver la version bit de numpy et éventuellement comment installer des versions compatibles.

2voto

max9111 Points 2341

CPython 2.7 "normal" est compilé avec MSVC 15 (Visual Studio 2008), ce qui est visible lorsque vous ouvrez l'interpréteur dans une fenêtre de commande. Abaqus Python est compilé avec MSVC 16 (Visual Studio 2010). Tous les modules Python qui doivent être compilés ne sont pas compatibles avec les binaires.

Vous avez donc au moins trois possibilités :

  1. Trouver un module SciPy, qui est compilé pour Python 2.7 avec MSVC 16. Python 2.7 compilés avec MSVC 16 sont difficiles à trouver. Il se peut que vous ne trouviez pas de version SciPy précompilée correcte. Certains modules peuvent être trouvés par exemple ici : http://p-nand-q.com/python/building-python-27-with-visual_studio.html

  2. Construire SciPy (et quelques dépendances) à partir des sources avec MSVC 16. https://www.scipy.org/scipylib/building/Windows.html

  3. Utilisez Abaqus Python uniquement pour extraire vos données. Sauvegardez les données dans des fichiers *.npy ou *.npz et chargez les données dans un interpréteur Python standard où vous avez facilement accès à des modules précompilés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X