2015-11-30 13 views
5

Я использую модуль pandas в скрипте. Тем не менее, он занимает от 3 до 10 секунд, чтобы импортировать панды каждый раз, когда я запускаю скрипт. Я использую пакет Anaconda для Python 2.7, и у меня не было этой проблемы с другими модулями.Импорт Pandas очень медленный (Anaconda Python 2.7)

Я использовал cProfile в отдельном скрипте, который состоял только из инструкции «import Pandas». Ниже приведены результаты работы.

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

Любые идеи, почему оператор импорта панды занимает так много времени для меня, и как я мог бы лучше диагностировать/исправить то, что происходит? Кто-нибудь еще испытал эту проблему?

+0

обнаружил, что проблема с импортом импорта действительно влияет на другие модули - см. [Вопрос с расширенной областью] (http://stackoverflow.com/questions/34357357/python-imports-are-very-slow-anaconda-python-2 -7) – TKW

+0

что делать, если вы сначала импортируете панды? –

+0

с такой же проблемой с Anaconda Python 3.5, для импорта pandas, matplotlip ... –

ответ

-1

Я подозреваю, что ваш DNS поврежден, поскольку такая задержка, скорее всего, вызвана неудачным запросом DNS. Попробуйте wirehark или аналогичный, чтобы найти, где он застревает.

+1

Если это причина, то мне любопытно, почему пандам нужно будет делать DNS-запрос каждый раз, когда он импортируется ... – Mark

1

Внутренне панды импортируют кучу других вещей. На этой теме есть github issue.

Обратите внимание, что pytz занимает много времени для импорта (около половины всего импорта панды) если это версия 2016.4; версии 2016.7 и 2017.2 намного быстрее. Возможно, вы захотите обновить версию pytz; что должно оказать существенное влияние.

Смежные вопросы