当从脚本文件扩展名关联运行时,python多处理在Windows 7上失败

我有一个相当复杂的主要-python应用程序(我inheritance),当我从文件types关联窗口中运行它(双击数据文件在资源pipe理器中)时,我得到了在python多处理的中间崩溃:

Traceback (most recent call last): File "<string>", line 1, in <module> File "c:\Python27\lib\multiprocessing\forking.py", line 380, in main prepare(preparation_data) File "c:\Python27\lib\multiprocessing\forking.py", line 489, in prepare file, path_name, etc = imp.find_module(main_name, dirs) ImportError: No module named MainModule 

如果我从Windows命令行运行应用程序,它会成功运行:

python MainModule.py {full file pathname}

过程对象的“启动”方法被调用时发生故障。

因为这是深埋在python本身,我很难找出什么可能造成这一点。 我已经尝试将工作目录设置为主要模块目录之前的过程对象启动,或者确实,过程对象创build,但没有任何改进。 我也看到了传递给“准备”的数据的价值,但除了原来的目录,似乎没有任何区别。

任何人都可以提出我应该在哪里和/或如何看待这个?

编辑:

我将数据文件与处理它的python应用程序相关联。 如果我在与python应用程序主模块相同的目录中的命令行上发出命令,它将起作用。 如果我尝试通过文件关联发出相同的命令,则失败。 我可以将bat文件关联到应用程序目录,发出一个普通的“cd”命令,打印目录(不知道为什么这是必要的,但似乎是这样),然后以数据文件作为参数启动应用程序 – 正如协会所做的那样 – 而且是有效的。 我认为这与python模块searchpath有关,但不知道是什么…

编辑2:

哇,那很尴尬。 问题在于这种关联(有点)。 被调用的脚本被调用大写错误…脚本执行成功,但当进程尝试fork时,多处理查找不正确的大写文件名,…没有find它! 所以窗户不关心大小写和Windows上的Pythontypes如下:它不适用于脚本执行,但对于进程分叉…

Solutions Collecting From Web of "当从脚本文件扩展名关联运行时,python多处理在Windows 7上失败"