所以我们有一个用 Python 编写的相当大的程序,使用 PySide/QT 来完成它的大部分 GUI 工作。我们使用 Chaco 做一些绘图。
该程序还具有完整的 CLI 界面。
有时,开发人员会不小心创建一个导入链,导致我们的 CLI 运行尝试从 PySide 或 Chaco 导入某些内容。这导致我们的 CLI 运行因“无法连接到 x 服务器”而终止,因为 PySide 或 Chaco 正在尝试通过 QT 初始化 X。
关于如何防止这种情况的任何提示?我们可以存根并覆盖一些正在执行此操作的函数吗?我们可以传递一些标志吗?目前我们的预防机制是追踪不良导入和重构。