错误:由于操作系统错误而无法安装软件包:[Errno 28] 设备上没有剩余空间

Dee*_*ire 7 python pip python-3.x

我使用以下命令在 Ubuntu 18 的 aws ec2 实例上安装软件包时遇到错误 -

pip install -e .

错误是-

ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

我检查了什么?

  1. RAM 使用free -h命令。
  2. 使用命令的磁盘利用率sudo ncdu -x
  3. 由于pip尝试下载到TMPDIR变量给出的默认位置,我还从该位置删除了文件。
  4. 我从 .cache 目录中删除了内容。
  5. 我从 /tmp 目录中删除了内容。

我仍然面临这个问题。

Dee*_*ire 13

https://github.com/pypa/pip/issues/5816#issuecomment-425410189提供的答案指出

pip 将文件下载到临时目录,环境变量 TMPDIR 指定该目录,pip 将文件放入缓存,因此 --cache-dir 规范, --no-cache-dir 也应该起作用。--build 指定构建wheel的目录,因此它的规范也很有用。

对于我的用户,我创建了一个在我的主目录中命名的自定义目录codebase/pip_cache/

首先我尝试--no-cache-dir使用以下命令 -

TMPDIR=/home/deepakahire/codebase/pip_cache/ pip install -e . --no-cache-dir。这不起作用。

最后,我--cache-dir也指定了,并使用以下命令来安装包 -

TMPDIR=/home/deepakahire/codebase/pip_cache/ pip install --cache-dir=/home/deepakahire/codebase/pip_cache/ -e .这对我有用。

警告 - 盲目删除/tmp目录中的所有内容会删除您的 tmux 会话,但仍会使服务/实例在之前在任何 tmux 会话中打开的相同端口上保持活动状态。