4

我有一个问题,我无法弄清楚问题是什么。嵌入式代码(3.2 文档中最简单的示例代码,只是为了尝试调试)不会运行目标函数。流程完成,程序导入并运行无误,Python 3.2 已正确安装,目录已添加到 Path 环境变量中。我正在使用 f5 从 IDLE 运行程序,并且所有其他代码都可以正常运行,但是目标函数“f”中的代码(在这种情况下)根本无法运行。正如你所理解的,这太令人沮丧了。此代码不会打印,并且目标函数(以及任何函数)内的每个测试打印都不会执行;它只是被跳过。

#!/usr/bin/env python
from multiprocessing import Process

def f(name):
    print('hello', name)

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()

有什么想法吗?我在 Windows 7 系统上运行 Python 3.2,并且多处理已在我的 Python 2.7 系统上成功运行(尽管我的项目确实需要我在 3.2 中开发)。抱歉这么简单的问题我想一定是一些路径问题,但我只是不确定我可能需要做什么才能完成这项工作并且无法从谷歌找到任何解决方案,因为 Python 肯定会识别包(并且拼写错误时失败);它只是行为不正确。感谢您的任何帮助/建议!

4

1 回答 1

3

多处理和 IDLE 不能很好地协同工作。确保它在 IDLE 之外运行,如果是这样,你很好。

我自己不使用 IDE,所以我没有其他可以为您提供的,但令人惊讶的是 simple prints 对调试的有用程度。

于 2012-10-11T18:59:57.117 回答