Python Maya中的多处理将弹出一个窗口

Python Maya中的多处理将弹出一个窗口,python,multiprocessing,maya,Python,Multiprocessing,Maya,我正在使用python为Maya 2011编写插件。为了利用我的机器(运行32位Windows 7)中的所有可用内核并提高插件的性能,我使用多处理模块创建了多个进程。创建进程时,将弹出“输出”窗口(在启动Maya时最初会弹出该窗口)。为了解决这个问题,我读了《讨论》。当我将mayapy.exe设置为可执行文件时,由于新进程是使用multiprocessing.process(…)创建的,因此会弹出另一个窗口(看起来像命令行窗口)。寡妇的数量与进程的数量相同,这些窗口只是在进程执行结束时出现和消失

我正在使用python为Maya 2011编写插件。为了利用我的机器(运行32位Windows 7)中的所有可用内核并提高插件的性能,我使用多处理模块创建了多个进程。创建进程时,将弹出“输出”窗口(在启动Maya时最初会弹出该窗口)。为了解决这个问题,我读了《讨论》。当我将mayapy.exe设置为可执行文件时,由于新进程是使用multiprocessing.process(…)创建的,因此会弹出另一个窗口(看起来像命令行窗口)。寡妇的数量与进程的数量相同,这些窗口只是在进程执行结束时出现和消失。
我无法理解出现这些小窗口的原因,我不希望这些窗口弹出,请帮助。

防止python弹出控制台窗口的典型方法是在文件名“mypythonfile.pyw”的末尾添加一个“w”

我在Maya中使用subprocess.Popen时遇到了同样的问题 如果将startupinfo=subprocess.startupinfo.wShowWindow.SW_HIDE传递给Popen构造函数,则会隐藏命令行子流程窗口。 阅读:


我猜同样的可能也适用于多处理.Process,尽管我现在不在Windows机器前测试它。

根据@tranimatronic的回答,您应该能够使用子进程标志生成单独的MayaPy副本。具体标志取决于您的操作系统:

但是,如果尝试在进程之间共享场景信息,则可能会遇到问题:每个进程都是Maya的完全独立副本。如果这是一个大批量作业,并且您可以共享一个只读文件(例如,您希望渲染动画的一部分或一次烘焙一个灯光),但无法在同一场景中执行并行处理(例如,创建几何体)。一般来说,如果你做了计算密集型的事情,你真的很关心玛雅文化遗址的多个内核,那么C++的API可能会有更好的运气。 另外:请注意以下事实: