импорт python занимает очень много времени при запуске в отладчике - PullRequest
1 голос
/ 11 октября 2019

Я использую https://github.com/DuyguA/DEMorphy. Я запускаю следующий код с интерпретатором python3.7.

import time

start = time.time()
from demorphy import Analyzer
end = time.time()
print(end-start)

Вывод

0.46335792541503906

При запуске с отладчиком Pycharm вывод

/home/user/virtualenvs/demorphy_test/bin/python3 /home/user/programs/pycharm-community-2019.2.1/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 57954 --file /home/user/demorphy_test/test.py
713.0500545501709

При запуске с отладчиком кода Visual Studio вывод будет

/home/user/virtualenvs/ptdev/bin/python /home/user/.vscode/extensions/ms-python.python-2019.10.41019/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 42604 /home/user/demorphy_test/test.py 
693.3676333427429
Terminated

При запуске с отладчиком Eclipse Pydev вывод будет

pydev debugger: starting (pid: 26462)
706.7083044052124

Почему оператор импорта принимает такдолго при запуске с отладчиком? Как я могу заставить его работать быстрее?

Чтобы установить библиотеку dawg, от которой зависит https://github.com/pytries/DAWG/issues/31.

1 Ответ

1 голос
/ 18 октября 2019

Это медленно из-за того, как работают отладчики Python и как работает импорт. Импорт в Python - это буквально выполнение кода в модуле. Выполнение кода в отладчике по своей сути медленнее, поскольку каждый шаг выполнения должен проходить через отладчик, чтобы увидеть, например, достигнута ли точка останова.

Единственный способ сделать это быстрее - отладчики быть быстрее(Расширение Python для VS Code рассматривает некоторые улучшения в скорости отладчика, но пока нет сроков, когда они появятся, и первоначально они будут только для Python 3.7).

...