子进程意外地从PyDev崩溃,在Windows资源管理器中双击工作正常

时间:2013-07-31 23:03:12

标签: python eclipse pydev

我花了很多时间试图解决这个问题。我正在尝试调用此行来运行abaqus(一个FEA程序):

popen = subprocess.Popen(callCommand, cwd=workDir, creationflags=subprocess.CREATE_NEW_CONSOLE)
popen.wait()

双击.py文件时,everthing工作正常。但是在从Eclipse运行它时,Abaqus崩溃了:

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

然后我也得到“SMAPython.exe已经停止工作”。

我玩过管理员权限设置,但无济于事。没有代表用Abaqus标记它。

1 个答案:

答案 0 :(得分:0)

解决方案(我在撰写问题草稿后遇到的问题)在这里找到:

http://sourceforge.net/p/pydev/discussion/293649/thread/94a76ecb/

基本上,PyDev添加了一些与Abaqus不能很好搭配的环境变量,因此可以使用以下代码:

import os
try:
    os.environ.pop('PYTHONIOENCODING')
except KeyError:
    pass
# now call abaqus...

希望这对某人有用,我花了将近两天的时间来解决这个问题。这是PyDev的一个利基用途(我不是程序员,我是土木工程师)但我认为让Eclipse处理所有源文件要强大得多。 Abaqus CAE文件都是二进制和专有文件,因此源代码控制和自定义编辑都是一种痛苦。

我想在任何情况下,解决方案都是通过关闭它并检查哪些有效以及它们之间存在差异来追踪问题。