类中的python subprocess.Popen delaying命令

类中的python subprocess.Popen delaying命令,python,python-2.7,subprocess,Python,Python 2.7,Subprocess,当我嵌入此函数时: def RunCommand(self, command): try: p = subprocess.Popen(command) stdout,stderr = p.communicate() except OSError, e: raise RuntimeError, "Error while executing: '%s': %s" % (" ".join( cmd ),e,) 当我的代码是类中的函数时,它会被延迟 如果我删除该类并

当我嵌入此函数时:

def RunCommand(self, command):
   try:
      p = subprocess.Popen(command)
      stdout,stderr = p.communicate()
   except OSError, e: raise RuntimeError, "Error while executing: '%s': %s" % (" ".join( cmd ),e,)
当我的代码是类中的函数时,它会被延迟

如果我删除该类并仅在interpeter中执行该命令,或者在没有该类控制它的情况下执行该命令,那么它将毫不延迟地执行该命令

类是否由于某种原因导致它等待或挂起


我还注意到在os.popen上也发生了同样的事情,我测试它只是为了搞笑,看看它是否是子流程模块

您能提供一个解决方案吗?首先尝试一个伪命令,例如,检查_调用[sys.executable'-m',platform'],并查看它是否工作。然后用一个方法创建一个极小的类,这个方法只打印一些东西,并确保它可以工作。然后将print语句替换为check_调用,并确保它有效。如果它停止工作;在这里发布代码。您不需要使用。如果所有stdin/stdout/stderr参数到Popen都不是管道,则进行通信;您可以使用p.wait或更好的subprocess.check_调用。我将其解析为导入库:作为自定义导入customlibrary。。但不确定为什么这会导致在Python中执行subprocessimport的两次不同的执行可能会执行任意代码,因此这并不能缩小问题的范围。如果你不能在这里发布一个最简单完整的代码示例,那么就自己做吧,