先上代码
fromopenpyxlimportload_workbook importnumpyasnp importpandasaspd importxlwingsasxw importcsv importjieba importpangu importre print('hello')
这个样例,在print行加一个断点,即可测试出缓慢效果
Linux下的虚拟环境启用
开始用win来测试效果,发现很慢,难道和系统有关系吗,于是进行linux下的python代码debug尝试。
manjaro或者archlinux用pip安装报错,比如

处理这个情况的设置好vscode,做好如下勾选

这样debug的时候就可以有效加载虚拟环境。
使用cprofile进行性能跟踪
importcProfile
importpstats
#importsome_module
defimport_module():
#fromopenpyxlimportload_workbook
importjieba
defprofile_import():
#创建一个性能分析器对象
profile=cProfile.Profile()
profile.enable()
#运行要分析的函数
import_module()
#停止性能分析
profile.disable()
#生成一个性能报告
stats=pstats.Stats(profile)
#stats.sort_stats("cumulative").print_stats(10)#打印前10行统计信息
stats.sort_stats("cumulative").print_stats()#打印前10行统计信息
if__name__=="__main__":
profile_import()
发现

/home/qiangge/.conda/envs/py031105/lib/python3.12/site-packages/jieba/finalseg/prob_emit.py
这里的文件共35000多行,因为这个吗?怀疑是多线程问题导致。
非debug模式下,也就是runcode模式下,并不会出现这个prob_emit.py的加载。这里估计是多线程在debug下会有阻塞问题。
小结
并没有彻底找出根因,但是很显然,有如下结论
导入包,对于运行没有性能问题
导入包,对于不同的包,性能影响很显著
可能是多线程引发了debug性能问题。
-
Linux
+关注
关注
88文章
11628浏览量
217961 -
python
+关注
关注
57文章
4857浏览量
89576 -
vscode
+关注
关注
1文章
171浏览量
9001
原文标题:python导入包引发的debug缓慢问题探究
文章出处:【微信号:gh_361ab7628207,微信公众号:Geant4模拟学习交流】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
导入Python库失败的缺失库怎么解决

浅析python导入包引发的debug缓慢问题
评论