python子进程Popen崩溃但我没有直接调用它

时间:2017-09-15 04:36:03

标签: python-3.x subprocess

我将Eclipse和pydev中的所有python程序移植到新计算机上。 然后我在我的程序中写了以下声明:

        outText = check_output("adb devices").decode('utf-8')

在旧电脑中,这很好。 但是在新的计算机中,它创建了一个bug并且python转储了以下内容。

  File "C:\Users\FARN\Documents\LINUX\realtime\PRGM\TaaDPlayground\src\moduleAndroid\testingModuleAndroid.py", line 82, in getDevice
    outText = check_output("adb devices").decode('utf-8')
  File "C:\Program Files\Python36\lib\subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "C:\Program Files\Python36\lib\subprocess.py", line 403, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Program Files\Python36\lib\subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "C:\Program Files\Python36\lib\subprocess.py", line 992, in _execute_child
    startupinfo)
  File "C:\Users\FARN\.p2\pool\plugins\org.python.pydev_5.9.2.201708151115\pysrc\_pydev_bundle\pydev_monkey.py", line 420, in new_CreateProcess
    return getattr(_subprocess, original_name)(app_name, patch_arg_str_win(cmd_line), *args)
FileNotFoundError: [WinError 2]

在旧电脑中,我使用了python 3.4.3 在新的,我尝试了python 3.4.3和3.6。 这个bug仍然存在。
问题是什么?

1 个答案:

答案 0 :(得分:1)

这不是错误,是用户错误。 FileNotFoundError的原因是未安装adb。也许你之前在Linux上运行并降级了?

BTW check_output()只是Popen()

周围非常薄的一层