Ubuntu 18 AWS EC2实例执行pip install -e .报错:设备无剩余空间
解决Ubuntu 18 AWS EC2实例中
pip install -e .磁盘空间不足问题 进一步排查步骤
- 查看全部分区的磁盘使用情况:执行
df -h,重点关注/、/tmp、/var等分区的使用率,确认是否有其他分区空间耗尽 - 检查inode使用情况:磁盘空间充足但inode耗尽也会触发该错误,执行
df -i查看各分区inode使用率,若有100%的分区,需清理该分区下的大量小文件 - 确认EC2根卷实际容量:执行
lsblk查看根卷(通常是/dev/xvda1)的总容量,判断是否是根卷本身空间不足 - 追踪pip临时文件路径:执行
pip install -e . --no-cache-dir -v,通过verbose日志确认pip实际使用的临时目录
解决方法
- 扩展EC2 EBS根卷:
- 在AWS控制台找到对应EC2实例的根EBS卷,修改卷大小(比如从8G扩容到20G)
- 回到实例执行
sudo growpart /dev/xvda 1(根据lsblk结果调整设备名) - 执行
sudo resize2fs /dev/xvda1完成文件系统扩容
- 指定自定义临时目录:如果有其他空闲分区(比如
/data),创建临时目录并指定给pip:mkdir -p /data/tmp && chmod 777 /data/tmp export TMPDIR=/data/tmp pip install -e . - 禁用pip缓存:直接执行
pip install -e . --no-cache-dir,避免缓存文件占用空间 - 清理系统冗余文件:
- 清理APT缓存:
sudo apt clean - 移除无用依赖包:
sudo apt autoremove --purge - 删除旧的日志文件:
sudo find /var/log -type f -mtime +30 -delete
- 清理APT缓存:
- 删除无用Python虚拟环境:如果使用了venv,找到不用的虚拟环境目录(比如
~/venvs/old_env)直接删除:rm -rf ~/venvs/old_env
内容的提问来源于stack exchange,提问作者Deepak Tatyaji Ahire
相关产品推荐
相关产品推荐

