我在使用以下命令在Ubuntu 18的aws ec2实例上安装软件包时遇到错误-
pip install -e .
错误是-
ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device
我检查了什么?
- RAM using
free -h
command. - 使用
sudo ncdu -x
命令使用磁盘利用率 - 由于
pip
试图下载到TMPDIR
变量给出的默认位置,我也从该位置删除了文件。 - 我从。cache目录中删除了内容。
- 我从/tmp目录中删除了内容。
我仍然面临这个问题。
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会话中都是打开的。