无法安装 pip 模块,因为设备上没有剩余空间

无法安装 pip 模块,因为设备上没有剩余空间

当我尝试安装 python3.8 的 pytorch 模块时,pip 抱怨设备上没有剩余空间,例如

$ pip3 install torch
Collecting torch
  Using cached torch-1.8.1-cp38-cp38-manylinux1_x86_64.whl (804.1 MB)
ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

但是根据 df,系统分区和 tmpfs 中都应该有足够的空间。

df 的输出:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.7G     0  7.7G   0% /dev
tmpfs           1.6G   20M  1.6G   2% /run
/dev/nvme0n1p4   23G   20G  2.3G  90% /
tmpfs           7.7G  127M  7.6G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/nvme0n1p5  183G   48G  126G  28% /home
/dev/nvme0n1p1  256M   37M  220M  15% /boot/efi
tmpfs           1.6G  5.8M  1.6G   1% /run/user/1000

我确实尝试使用不同的 TMP_DIR,正如一些 StackOverflow 答案所建议的那样但这并没有解决我的问题。我的系统驱动器似乎有点满了,但看起来应该有足够的空间来安装该软件包。我也尝试在本地安装该软件包(例如pip3 install --user),但这也没有帮助。

我尝试安装的所有其他软件包都可以用 Pip 来安装,但这个除外。不过其他软件包明显小得多。

Ubuntu 版本:20.04.1 LTS

Pip 版本:适用于 Python 3.8 的 20.0.2

答案1

最可能的原因是 空间不足/tmp。解决方法是指示pip使用备用文件夹。我使用以下公式:

TMPDIR=/home/user/tmp/ python3 -m pip install a_package

我尝试使用该cache-dir参数但失败并出现“未找到文件”错误。

答案2

我曾经在 raspi 上遇到过这个问题。原因是 /tmp 目录太小了。因此,为了使用 pip 安装某些东西,我在内存之外的某个地方创建了一个 /tmp 目录:

pip install --cache-dir=/home/user/tmp ...

您所提到的导出 TMPDIR 不起作用。

然后它就起作用了...

相关内容