在Ubuntu极简环境下运行Python脚本的问题(Gem5全系统模拟场景)
Gem5极简环境下找不到已安装Numpy的解决方案
问题背景
使用Gem5全系统模拟时,通过--kernel-init=/bin/sh跳过systemd以缩短启动时间,但进入终端后无法找到已在QEMU中安装的numpy包,执行Python脚本或直接导入均提示ModuleNotFoundError: No module named 'numpy',镜像内存在两个Python版本。
解决步骤
确认默认Python版本与路径
先检查当前环境默认调用的Python是否为安装了numpy的版本:which python python --version如果输出的版本和路径与QEMU中安装numpy的版本不符,直接使用该版本的绝对路径执行脚本,例如:
/usr/bin/python3.9 execute.py手动加载环境变量配置
跳过systemd后,系统默认不会加载/etc/profile、~/.bashrc等环境配置文件,手动执行以下命令加载:source /etc/profile source ~/.bashrc加载完成后再次尝试导入numpy。
检查并设置PYTHONPATH
先在QEMU中获取numpy的安装位置:pip show numpy | grep Location再在Gem5环境中设置PYTHONPATH:
export PYTHONPATH=/path/to/numpy/site-packages:$PYTHONPATH替换
/path/to/numpy/site-packages为实际路径后,重新测试导入。确保pip与目标Python版本关联
检查当前pip对应的Python版本:which pip pip --version如果pip对应错误的Python版本,使用目标Python的内置pip重新安装numpy:
/usr/bin/python3 -m pip install numpy按需启动基础系统服务
如果上述方法无效,可尝试启动基础systemd服务以加载完整环境,同时避免全量启动的耗时:# 修改Gem5启动参数 --kernel-init="/bin/systemctl start basic.target; /bin/sh"
内容的提问来源于stack exchange,提问作者saras
相关产品推荐
相关产品推荐

