【问题标题】:gem5 "ImportError: No module named six" even though module six is installedgem5 "ImportError: No module named Six" 即使安装了模块六
【发布时间】:2020-06-06 22:08:32
【问题描述】:

我正在尝试在 gem5[SHA: 332a9de33db603e0aefedae1e05134db4257ea3e 中运行一个简单的系统 ]来自这个Link。它显示以下错误:

文件“”,第 1 行,在

文件“build/X86/python/importer.py”,第 81 行,在 load_module 中

exec(code, mod.dict)

文件“build/X86/python/m5/init.py”,第 46 行,在

从 .导入 SimObject 文件“build/X86/python/importer.py”,第 81 行,在 load_module 中

exec(code, mod.dict)

文件“build/X86/python/m5/SimObject.py”,第 43 行,在

从六个导入add_metaclass

ImportError: 没有名为 6 的模块

但是我已经安装了模块六,并且在我运行gem5 build 时成功使用了它。我也从其他 python IDE 和命令行云导入六个,没有任何问题。

我使用的是 Ubuntu 20.04 和 x86_64 架构。

我发现了类似的post,但在此期间无法检测到模块六 gem5.opt 构建。但是我的案例 gem5.opt build 成功找到了模块六并完成了操作。但是在尝试运行 simple.py 系统时没有找到模块六。

我已经重新安装了模块六,重建 gem5.opt 甚至删除了所有与 gem5 相关的文件并再次克隆它。我也在我的虚拟环境之外尝试过。

【问题讨论】:

  • 你能用 print 语句仔细检查 scons 和 run 使用相同版本的 Python 吗?现在已经完全添加了python3支持,最近出现了很多相关问题。也可以在邮件列表上询问,那里的人已经回复了相关问题。
  • python 3.8 是我系统中唯一安装的 python(默认 ubuntu 20.04)。所以,我不认为这是一个问题。另外,我没有如何明确检查 scons 和运行的 python 版本(我是 gem5 和相关软件的新手。任何有关此的链接都会有所帮助)
  • 后来我安装了python 2.7来运行这个,还是同样的问题。

标签: python virtualenv gem5


【解决方案1】:

此问题是在 gem5.opt 构建期间引起的。 因为我愿意从​​现在开始将 python3 用于 gem5,因为他们宣布支持 python3。所以,我使用 python3 scons 来构建 gem5.opt 并且它是成功的。但是当我尝试运行第一个系统脚本 simple.py 时,会出现导入错误。我的想法 scons 配置文件在使用 python3 时在构建期间错过了 gem5.opt 文件中的配置。

我已经使用 python2.7 重建 gem5.opt,现在问题解决了。甚至我可以使用 python3 运行“build/X86/gem5.opt config/tutorial/simple.py”,它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-23
    • 2022-10-22
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2018-09-29
    相关资源
    最近更新 更多