2015-07-23 10 views
11

Di solito codice in Matlab ma ho trovato un bel pezzo di codice PYTHON che vorrei usare. Tuttavia, dopo aver scaricato il pacchetto si sta dimostrando difficile da eseguire. Sto ottenendo il seguente errore:Caricamento PYTHON DLL non riuscito

Traceback (most recent call last): 
    File "C:\launch.py", line 29, in <module> 
    from src.smcsquare import SMCsquare 
    File "C:\src\smcsquare.py", line 32, in <module> 
    from scipy.stats import norm 
    File "C:\Python34\lib\site-packages\scipy\stats\__init__.py", line 338, in <module> 
    from .stats import * 
    File "C:\Python34\lib\site-packages\scipy\stats\stats.py", line 184, in <module> 
    import scipy.special as special 
    File "C:\Python34\lib\site-packages\scipy\special\__init__.py", line 586, in <module> 
    from ._ufuncs import * 
ImportError: DLL load failed: The specified module could not be found. 

Il _ufuncs.pyd c'è nella directory C:\Python34\lib\site-packages\scipy\special\. Ho provato ad aggiungere questo al mio PYTHONPATH ma non ha fatto alcuna differenza. Ho anche provato i fixer di dll, ma questi non hanno aiutato. Qualcuno ha incontrato questo e hai trovato una soluzione?

+0

è necessaria una versione diversa di scipy ... verificare la compatibilità 32-64 bit, nonché 2.6-2.7 (o 3.4). – Aaron

+2

Suppongo che tu stia usando Windows, quindi [qui] (http://www.lfd.uci.edu/~gohlke/pythonlibs/) dove trovare la maggior parte delle librerie precompilate per Windows. Prendi l'archivio delle ruote e installa con pip. – Aaron

+0

un'altra soluzione (preferita?) Vorrebbe prendere una distribuzione python pre-compilata con tutte le librerie necessarie. I due principali per Windows sono [anaconda] (http://continuum.io/downloads#27), e [winPython] (http://winpython.sourceforge.net/) – Aaron

risposta

5

Come altri hanno già detto, assicurati che il tuo file .whl corrisponda alla versione e 32/64 bit della distribuzione python che stai utilizzando.

Avanti, il problema che stavo avendo stato ho dimenticato di scaricare e installare il pacchetto "mkl NumPy +" extra per l'istruzione: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Quindi per me è stato NumPy-1.11.0 + mkl-cp35- cp35m-win_amd64.whl, che ho scaricato e poi:

python -m pip install numpy-1.11.0+mkl-cp35-cp35m-win_amd64.whl 

avevo già installato il pacchetto NumPy regolare tramite pip, ma ho appena installato questo su di esso e tutto ha iniziato a lavorare ed è stato bene finora.

+1

Per espandere "corrisponde alla versione" ... se stai usando Python 3.4, non scaricare il file con '-cp35-' nel nome. – Noumenon

+0

quel file non esiste più – Omar