PyCharm调试子进程/ Popen收到错误消息

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

我使用动态脚本来获取由[[ansible框架提供的主机信息。

path = '/Volumes/Work@SSD/code/python/icode_devop_be/app/libs/ansible/sources/redis_set_sources.py' host = 'WIN-2OLQLBCH8FO' cmd = [path, "--host", host] try: sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) except OSError as e: raise AnsibleError("problem running %s (%s)" % (' '.join(cmd), e)) (out, err) = sp.communicate()
当我调试

Pycharm

中的代码时,收到错误消息:b'usage: redis_set_sources.py [-h] (--list | --host HOST)\nredis_set_sources.py: error: unrecognized arguments: --port 57112 --client 127.0.0.1 --multiproc --file WIN-2OLQLBCH8FO\n'
但是我在终端中运行命令时得到了正确的消息:

命令:

app/libs/ansible/sources/redis_set_sources.py --host 'WIN-2OLQLBCH8FO'

普通消息:

{"hostname": "WIN-2OLQLBCH8FO", "port": 5985, "ansible_host": "192.168.0.254", "ansible_user": "administrator", "ansible_ssh_password": "All4Icode", "connection": "winrm", "private_key": null, "transport": "ntlm"}

python ansible pycharm
1个回答
0
投票
无疑,您将意外的参数传递给命令,因为如果您传递了错误消息,它们也会在终端中指示错误消息:

error: unrecognized arguments: --port 57112 --client 127.0.0.1 --multiproc --file

我认为本文描述了您的问题的解决方案:

https://youtrack.jetbrains.com/issue/PY-7464?_ga=2.7923002.94425001.1581367237-1197479344.1576355856

基本上建议:

    Close PyCharm
  1. 编辑.idea / workspace.xml文件,并将行从:更改为:
  • ]

    to

    <option name="MULTIPROCESS" value="false" />

    3。重新启动pycharm4.在“调试”中运行该脚本,它将再次运行。

    我不确定这是否是您的解决方案,但问题模式看起来相同。

  • © www.soinside.com 2019 - 2024. All rights reserved.