2015-11-30 21 views
5

Bir komut dizisindeki pandalar modülünü kullanıyorum. Ancak, senaryoyu her çalıştırdığımda pandaları almak için 3-10 saniyeden bir yere gidiyor. Python 2.7 için Anaconda paketini kullanıyorum ve bu sorunu başka hiçbir modülde kullanmamıştım.Pandalar içe aktarma çok yavaş (Anaconda Python 2.7)

Yalnızca 'import Pandas' ifadesinden oluşan ayrı bir betikte cProfile kullandım. Çıkışın en iyi sonuçları aşağıdadır.

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>) 

ithalat pandalar deyimi benim için bu kadar uzun sürer, yoksa daha iyi/neler olduğunu saptamak teşhis nasıl niçin Herhangi fikirler? Bu sorunu başka biri yaşadı mı?

+0

, içe aktarım bildirimi sorununun diğer modülleri gerçekten etkilediğini - bkz. [Genişletilmiş kapsamla ilgili soru] (http://stackoverflow.com/questions/34357357/python-imports-are-very-slow-anaconda-python-2 -7) – TKW

+0

pandaları önce alırsan ne olur? –

+0

Anaconda Python 3.5 ile aynı soruna sahip pandaları, matplotlipleri içe aktarmak için, matplotlip ... –

cevap

-1

Başarısız bir DNS isteğinin bu tür bir gecikme olasılığının daha olası olması nedeniyle DNS'inizin bozuk olduğundan şüpheleniyorum. Nereye takıldığını bulmak için wireshark veya benzerlerini deneyin.

+1

Bu sebepten ötürü pandaların, ithal ettikleri her defasında bir DNS isteği yapmaları gerekliliğini merak ediyorum ... – Mark

1

Dahili pandalar bir sürü başka şeyi içe aktarır. Bu konuda bir github issue var.

Not: pytz öğesinin içe aktarılması uzun zaman alır (pandaların tümünün yaklaşık yarısı) eğer sürüm 2016.4 ise; 2016.7 ve 2017.2 sürümü çok daha hızlıdır. Pytz sürümünüzü yükseltmek isteyebilirsiniz; Bunun önemli bir etkisi olmalı.

İlgili konular