如何让一个脚本以与 JetBrains-IDE 的其他功能良好交互的方式打开另一个脚本?

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

我有一个脚本,基本上只是一个小型 GUI,用于为没有任何图形的长时间运行的程序创建配置文件。我拥有并控制这两个项目的源代码。

开发人员用户的通常工作流程是使用简单的 python 运行配置打开 GUI,调整一些设置,然后单击其“运行”按钮来启动脚本。

这可行,但“运行”窗口关闭,进程出现在 shell 中,失去了“运行”窗口的所有良好功能,例如可单击的输出和调试器 UI。

我尝试了两种启动该过程的方法:

subprocess.Popen
os.execv
。 我还尝试将 Pycharm-run-configuration-option
Execution>Emulate terminal in output console
设置为勾选和取消勾选。

我还有两种我想避免的选择:使用集成终端(关键用户不喜欢它,并且需要主程序的单独运行配置)或使脚本启动函数调用不涉及任何流程(需要进行一些重构并注意单例状态)

是否有一种非 hacky 的方法可以在 pycharm 中使用像我的 GUI 这样的脚本?

python pycharm subprocess jetbrains-ide execv
1个回答
0
投票

我找到了一种从 pycharm 启动

run_gui.py
的方法,让我可以在
run
上使用 pycharm
run_calc.py
-窗口。

  1. 创建一个执行
    run_calc.py
    的运行配置。
  2. 在此配置中,添加在“启动前”窗口中运行
    run_gui.py
    的任务。该任务将在实际脚本之前执行,其返回值决定实际任务是否运行。
  3. 更改
    run_gui.py
    的源代码,不以任何方式直接启动
    run_calc.py
    ,而是在计算应该运行时调用
    sys.exit(0)
    ,如果不应该运行则调用
    sys.exit(1)

如果它可以用更少的配置并且不滥用返回码来完成它,我愿意接受另一个答案。

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