我正在尝试安装
python -m spacy download en_vectors_web_lg
但正在投掷错误:
Could not install packages due to an EnvironmentError: [Errno 28] No space left on device
我可以知道为什么会造成错误?是说我没有目录中的Enogh空间要安装??
很可能正在尝试将数据下载到您的/TMP临时位置。我的猜测是,默认设置(通常是您的RAM一半)太小而无法处理下载。
您可以使用以下命令:systemctl mask tmp.mount
禁用tmp
安装。请小心,然后进行研究。
另外,您可以通过执行以下操作将TMPDIR
目录设置为/var/tmp
export TMPDIR='/var/tmp'
我必须做一个系统修剪才能制作更多空间。
docker system prune
请注意,这将"删除所有未使用的容器,网络,图像(悬挂和无引用)以及可选的卷。"因此,请确保您不会吹走任何需要的东西。
如下所述,您可以创建一个有足够空间的目录,例如/folder/address/here/
,并在下面运行以安装它:
TMPDIR=/folder/address/here/ pip install --cache-dir=$TMPDIR --build $TMPDIR package-name
由于我自己的案例正在升级TensorFlow,因此我运行了此操作:
TMPDIR=/folder/address/here/ pip install --upgrade --cache-dir=$TMPDIR --build $TMPDIR tensorflow
如果您在码头容器上工作,我建议您弄清楚为什么您的Docker已满,然后清空任何占用空间的东西。
找出空间运行的是什么:
docker system df
运行之后:
docker <container/image/builder> prune --all
清洁任何占所有空间的东西。
如果您使用的是Ubuntu,也可以尝试
sudo apt-get clean
这将清除您的软件包缓存。此后尝试安装软件包(对我有用)。
上面的方法在我的Linux Ubuntu计算机上不起作用。
最终起作用的解决方案是:
-
重新启动计算机
-
重命名/TMP为old.tmp,并创建一个新/TMP文件夹。这个想法来自这篇文章,命令如下:
mv/tmp/old.tmpMKDIR/TMPCHMOD 1777/TMP
我想这个问题是/tmp文件夹中的文件太多。
请注意,在/TMP文件夹中重新启动具有太多文件的计算机时,计算机可能会卡住。为了解决这个问题,这篇文章很有用。简而言之,编辑重新启动选项并将" ro ..."更改为'rw init =/bin/bash',这样您将在重新启动时快速看到bash终端。
对于那些在命令行的紧张并使用Windows或MacOS的人,启动Docker Desktop
。查看Images
。这将向您显示所有图像在内的列表,包括其状态。状态Unused (dangling)
可能是您要摆脱的全部。只需选择并删除。
为什么我要推荐GUI方法?因为docker prune
'删除了所有未使用的容器,网络,图像(悬挂和未参考),以及可选的卷。"这不一定是您想要的ESP。当您是新来的时。例如,Unused
表示Not Currently In Use At the Moment
和不是 no longer useful
或not ever going to be used again
,您可能会期望从Docker开始时。