由于环境错误,无法安装软件包:[Errno 28] 设备上没有剩余空间

Vam*_*shi 25 python spacy

我正在尝试安装

python -m spacy download en_vectors_web_lg
Run Code Online (Sandbox Code Playgroud)

但它抛出错误:

Could not install packages due to an EnvironmentError: [Errno 28] No space left on device
Run Code Online (Sandbox Code Playgroud)

我可以知道为什么会产生错误吗?是说我在安装目录中没有足够的空间吗??

ken*_*ell 31

我必须进行系统修剪以腾出更多空间。

docker system prune

请注意,这将“删除所有未使用的容器、网络、图像(悬空和未引用的)以及可选的卷”。所以请确保你没有吹走任何你需要的东西。


小智 28

很可能它正在尝试将数据下载到您的 /tmp 临时位置。我的猜测是默认设置(通常是你的 ram 的一半)太小而无法处理下载。

您可以tmp使用以下命令禁用挂载:systemctl mask tmp.mount. 在执行此操作之前要小心并进行研究。

或者,您可以通过执行以下操作 来设置您的TMPDIR目录/var/tmpexport TMPDIR='/var/tmp'

  • `export TMPDIR='/var/tmp'` 也对我有用!...增加`/tmp`的大小不起作用 (6认同)
  • Windows 操作系统呢? (3认同)

am.*_*rez 14

正如这里提到的,您可以创建一个有足够空间的目录,例如/folder/address/here/,并运行以下命令来安装它:

TMPDIR=/folder/address/here/ pip install --cache-dir=$TMPDIR --build $TMPDIR package-name
Run Code Online (Sandbox Code Playgroud)

由于我自己的案例正在升级 tensorflow,我运行了这个:

TMPDIR=/folder/address/here/ pip install --upgrade --cache-dir=$TMPDIR --build $TMPDIR tensorflow
Run Code Online (Sandbox Code Playgroud)

  • 感谢您添加这个额外的配置开关。它使您的答案更加完整。 (2认同)

Shl*_*pel 7

如果您正在使用 docker 容器,我建议您弄清楚为什么您的 docker 已满,然后清空占用空间的所有内容。

要弄清楚是什么占用了空间,请运行:

docker system df

之后运行:

docker <container/image/builder> prune --all

清理占据所有空间的任何东西。