all_df = Parallel(n_jobs=n_jobs)(
delayed(read_factor)(base_file, factor_dict, factor_period, hold_period, all_factor_list)
for base_file in base_file_path
)
我的pycharm在这句话之前可以debug,这句话之后无法停到断点
这个问题可能与 Parallel 和 delayed 相关。这些工具属于 joblib 库,用于并行化计算。并行计算可能会导致调试器失去对子线程的控制,因此无法在 Parallel 中设置断点。
解决方案:
禁用并行化:暂时关闭并行处理,直接运行代码来进行调试。可以通过将 n_jobs=1 来实现:
all_df = Parallel(n_jobs=1)(
delayed(read_factor)(base_file, factor_dict, factor_period, hold_period, all_factor_list)
for base_file in base_file_path
)
这样,Parallel 实际上只在一个线程中运行,调试器能够正常工作。