【发布时间】:2012-06-21 18:56:48
【问题描述】:
我正在尝试调试一个简单的 python 应用程序,但到目前为止还没有成功。
import multiprocessing
def worker(num):
for a in range(0, 10):
print a
if __name__ == '__main__':
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
我想在 for 循环中设置一个断点来跟踪 'a' 的值,但我尝试过的工具都不能做到这一点。 到目前为止,我尝试使用以下方式进行调试:
- PyCharm 并得到以下错误:ImportError: No module named pydevd - http://youtrack.jetbrains.com/issue/PY-6649 看起来像 他们仍在努力解决这个问题,据我了解,没有预计到达时间
- 我也尝试使用 Winpdb 进行调试 - http://winpdb.org 但它根本不会进入我的“worker”方法,而只是打印“a”的值
非常感谢您对此的任何帮助!
【问题讨论】:
-
说到多处理/多线程,没有“简单”之类的东西。在我看来,至少。
-
这是 PyCharm 调试器中特定于 Windows 的错误。如果您确实需要使用多处理模块调试应用程序,我可以建议使用 Unix 虚拟机并从您的 PyCharm 为该 VM 设置远程解释器。跨度>
标签: python debugging multiprocessing pycharm winpdb