You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

wxPython无法导入同目录文件问题及解决过程

Fixing ImportError: cannot import name 'QuestionAsk' in wxPython/Python 3.6.1 Project

我最近在用Python 3.6.1结合wxPython开发GUI程序时,碰到了一个典型的循环导入问题,折腾了好一会儿才搞定,这里把问题场景和解决方法分享给大家:

问题背景

我的项目文件调用关系是这样的:

  • Asker.py 导入同目录下的 Get.py
  • Get.py 会调用 gui.py 里的功能
  • gui.py 尝试从 Get.py 导入 QuestionAsk 类

结果运行程序时直接抛出错误:

ImportError: cannot import name 'QuestionAsk'

问题根源

这其实是**循环导入(circular import)**在搞鬼:Get.py 和 gui.py 互相依赖,当Python解释器加载模块时,其中一个模块还没完成初始化(比如QuestionAsk类还没被定义),就被另一个模块尝试导入,自然会找不到指定的类。

解决步骤

我最终通过调整代码结构打破了循环依赖:

  1. 将 Get.py 中的 graphical_start 函数迁移到 gui.py 中,去掉 Get.py 对 gui.py 的直接调用
  2. 修改导入逻辑,让 Asker.py 直接导入 gui.py,不再通过 Get.py 中转

调整后模块的依赖关系变成了:
Asker.py → gui.py
Asker.py → Get.py

彻底消除了互相引用的情况,导入错误也就随之解决了。

内容的提问来源于stack exchange,提问作者Sutsuj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:44:06