Python: DLL load failed: %1 n'est pas une application Win32 valide
J'ai installé la dernière version de Numpy avec succès et je suis à l'aide de Python 3.4, je ne comprends pas cette erreur:
Traceback (most recent call last):
File "C:\Python34\LUdecomp.py", line 1, in <module>
import numpy as np
File "C:\Python34\lib\site-packages\numpy\__init__.py", line 170, in <module>
from . import add_newdocs
File "C:\Python34\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "C:\Python34\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
from .type_check import *
File "C:\Python34\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "C:\Python34\lib\site-packages\numpy\core\__init__.py", line 6, in <module>
from . import multiarray
ImportError: DLL load failed: %1 is not a valid Win32 application.
Le code:
import numpy as np
from sys import argv
script, filename = argv
txt = open(filename)
header = txt.readline().split()
inputArray = map(float, txt.readline().split())
txt.close()
inputMat = np.mat(inputArray)
inputMat.reshape(int(header[0]), int(header[1]))
inputMat.shape()
#takes q2data as input
def lu(A):
#Decomposes a nxn matrix A by PA=LU and returns L, U and P.
n = len(A)
L = [[0.0] * n for i in xrange(n)]
U = [[0.0] * n for i in xrange(n)]
#Creates the pivoting matrix for m.
n = len(A)
ID = [[float(i == j) for i in xrange(n)] for j in xrange(n)]
for j in xrange(n):
row = max(xrange(j, n), key=lambda i: abs(A[i][j]))
if j != row:
ID[j], ID[row] = ID[row], ID[j]
p = ID
#perform matrix multplication
TA = zip(*A)
A2 = [[sum(eP*ea for eP,ea in zip(P,a)) for a in TA] for P in p]
for j in xrange(n):
L[j, j] = 1.0
for i in xrange(j+1):
s1 = sum(U[k, j] * L[i, k] for k in xrange(i))
U[i, j] = A2[i, j] - s1
for i in xrange(j, n):
s2 = sum(U[k, j] * L[i, k] for k in xrange(j))
L[i, j] = (A2[i, j] - s2) / U[j, j]
return (L, U, p)
print (lu(inputMat))
OriginalL'auteur Junior Mint | 2015-05-09
Vous devez vous connecter pour publier un commentaire.
Vous avez installé un
64 bit
version de numpy et sont à l'aide d'un32 bit
version de python ou vice versa. Vous pouvez installer un préconstruit binaire de iciensuite, vous avez peut-être installé une version 32 bits de numpy, comment avez-vous installer numpy?
Ah, je vois sourceforge.net/projects/numpy/files/NumPy/1.9.2, j'ai choisi le win32 .exe, mais je ne vois pas d'indicateur pour la version 64 bits?
Il y en a un dans le lien que j'ai fourni, vous pouvez l'installer avec le pip, il suffit de retirer l'ancien premier
OriginalL'auteur Padraic Cunningham
La solution intelligente que j'ai trouvé est tout simplement un pip numpy mise à niveau, pip va désinstaller le mauvais 32 ou 64 bit installation avec la nécessaire bits installer. Aussi, vous pouvez spécifier la version que vous voulez.
OriginalL'auteur K. Abhulimen