导入ManPy的dream.simulation.Queue提示无CoreObject模块如何解决
ManPy(DREAM库)导入Queue模块报错解决方案
报错根本原因
你当前安装的0.0.1版本dream包存在内部导入路径错误:Queue.py中引用同目录下的CoreObject.py时,使用了无包前缀的绝对导入写法,Python3.8默认不会在当前模块所在目录搜索依赖,因此找不到模块。
解决方案
方案1:直接修复现有安装的导入错误
- 打开报错路径对应的文件:
/usr/local/lib/python3.8/dist-packages/dream-0.0.1-py3.8.egg/dream/simulation/Queue.py - 定位到第30行的导入语句:
原有错误写法:
修改为以下两种写法任意一种即可:from CoreObject import CoreObject- 相对导入写法
from .CoreObject import CoreObject- 完整包路径写法
from dream.simulation.CoreObject import CoreObject - 保存文件后重新执行导入语句即可正常运行。
方案2:更换为新版ManPy包(推荐)
你参考的旧版文档对应ManPy还在使用DREAM作为包名的早期版本,目前官方维护的版本已经更名并修复了所有导入问题,操作步骤如下:
- 卸载现有旧版dream包:
pip uninstall dream - 安装最新正式版ManPy库:
pip install manpy - 将你的导入语句同步更新为新版命名规范:
from manpy.simulation.Queue import Queue
注意事项
如果你的Spyder3使用了独立的虚拟环境,需要确认修改的是对应虚拟环境路径下的库文件,避免修改全局环境文件后不生效。
内容的提问来源于stack exchange,提问作者Dr Justin Whitty
相关产品推荐
相关产品推荐

