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

问题描述 投票:2回答:1

我将我在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仍然存在。 问题是什么?

python-3.x subprocess
1个回答
1
投票

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

BTW check_output()只是Popen()周围非常薄的一层

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.