2015-11-30 13 views
5

Sto usando il modulo panda all'interno di uno script. Tuttavia, ci vogliono dai 3 ai 10 secondi per importare i panda ogni volta che eseguo lo script. Sto usando il pacchetto Anaconda per Python 2.7 e non ho avuto questo problema con nessun altro modulo.L'importazione di panda è molto lenta (Anaconda Python 2.7)

Ho usato cProfile su uno script separato che consisteva solo in un'istruzione 'import Pandas'. I risultati migliori dell'output sono sotto.

C:\Users\*****\AppData\Local\Continuum\Anaconda> python -m cProfile -s cumtime test_pandas_import.py 
    204229 function calls (199729 primitive calls) in 3.480 seconds 

Ordered by: cumulative time 

ncalls tottime percall cumtime percall filename:lineno(function) 
    2 0.216 0.108 3.490 1.745 __init__.py:4(<module>) 
    1 0.019 0.019 3.482 3.482 test_imports.py:1(<module>) 
    19 0.155 0.008 1.300 0.068 __init__.py:1(<module>) 
    1 0.024 0.024 0.895 0.895 config_init.py:11(<module>) 
    1 0.049 0.049 0.803 0.803 __init__.py:106(<module>) 
    1 0.024 0.024 0.669 0.669 format.py:2(<module>) 
    1 0.005 0.005 0.628 0.628 add_newdocs.py:10(<module>) 
    2 0.029 0.015 0.604 0.302 index.py:2(<module>) 
    2 0.094 0.047 0.542 0.271 __init__.py:9(<module>) 
    2 0.092 0.046 0.532 0.266 common.py:1(<module>) 
    1 0.008 0.008 0.506 0.506 type_check.py:3(<module>) 

Tutte le idee perché l'istruzione import panda prende così tanto tempo per me, o come potrei meglio diagnosticare/fix che cosa sta accadendo? Qualcun altro ha riscontrato questo problema?

+0

ha rilevato che il problema dell'istruzione import interessa effettivamente altri moduli: vedere [domanda con ambito esteso] (http://stackoverflow.com/questions/34357357/python-imports-are-very-slow-anaconda-python-2 -7) – TKW

+0

e se importassi prima i panda? –

+0

avendo lo stesso problema con Anaconda Python 3.5, per i panda importatori, matplotlip ... –

risposta

-1

ho il sospetto vostro DNS è rotto in quanto questo tipo di ritardo è più probabile causato da una richiesta DNS fallito. Prova wirehark o simile per trovare dove si blocca.

+1

Se questo è il motivo allora io sono curioso di sapere perchè panda avrebbe bisogno di fare una richiesta DNS ogni volta che viene importata ... – Mark

1

Internamente i panda importano un sacco di altre cose. C'è un github issue su questo argomento.

Nota che pytz impiega molto tempo per importare (circa metà dell'intera importazione di panda) se è la versione 2016.4; versione 2016.7 e 2017.2 sono molto più veloci. Potresti voler aggiornare la tua versione di pytz; ciò dovrebbe avere un impatto significativo.

Problemi correlati