[在调试器中运行时,Python导入会花费很长时间

问题描述 投票:1回答:1

我正在使用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 Code Debugger一起运行时,输出为

/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

为什么使用调试器运行import语句要花这么长时间?如何使其运行更快?

安装依赖于https://github.com/pytries/DAWG/issues/31的变形的dawg库是必需的。

python visual-studio-code pycharm python-import
1个回答
0
投票

由于Python调试器的工作方式和导入方式的影响,速度很慢。使用Python导入实际上是在执行模块中的代码。在调试器下执行代码本质上较慢,因为执行的每个步骤都必须通过调试器以查看是否遇到断点。

加快速度的唯一方法是使调试器更快(VS Code的Python扩展正在寻求提高调试器速度的方法,但是尚无时间表确定何时启动这些功能,而最初它们仅适用于Python 3.7)。

© www.soinside.com 2019 - 2024. All rights reserved.