我正在尝试安装
python -m spacy download en_vectors_web_lg
但是它出现了错误:
Could not install packages due to an EnvironmentError: [Errno 28] No space left on device
我可以知道为什么会出现这个错误吗?是说我在目录中没有足够的空间来安装吗?
很可能它正在尝试将数据下载到你的 /tmp 临时位置。我猜测默认设置(通常为内存的一半)太小了,无法处理下载。
你可以通过以下命令禁用 tmp
挂载:systemctl mask tmp.mount
。在执行此操作之前,请进行仔细研究并保持谨慎。
另外,你可以通过以下方式将你的 TMPDIR
目录设置为 /var/tmp
:
export TMPDIR='/var/tmp'
export TMPDIR='/var/tmp'
对我也有效!增加 /tmp
的大小无效。 - scjorgeexport TMPDIR='/var/tmp'
对我也起作用了! - Vishal Kamlapure我必须执行系统清理来释放更多空间。
docker system prune
请注意,此操作将“删除所有未使用的容器、网络、镜像(包括悬空和无引用的镜像)以及可选卷。” 因此,请确保您不会删除需要的任何内容。
总回收空间:21.32GB
”这个解决了我的问题。+1 :) - Chris Adamssudo docker system prune -a
回收的总空间:3.585GB
对于在本机上运行docker的人来说,我认为这是在尝试其他选项之前应该尝试的第一件事情,因为如果不加以控制,docker可能会占用大量空间。
别忘记添加-a
标志,这样所有未使用的镜像都将被删除,而不仅仅是悬空的镜像。
附注:此命令不影响您的卷。但为了更加小心,您可以在运行之前备份您的数据库。 - i-wizard正如这里所提到的,您可以创建一个有足够空间的目录,比如说/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
sudo apt-get clean
这将清除您的软件包缓存。之后尝试安装该软件包(对我有效)。
对于那些在命令行和使用Windows或MacOS时感到紧张的人,启动 Docker Desktop
。查看 Images
。这将显示所有图像的列表,包括它们的状态。状态 Unused (dangling)
可能是您想要摆脱的全部内容。只需选择并删除即可。
为什么我会推荐GUI方法?因为 docker prune
"删除所有未使用的容器、网络、镜像(包括悬空和未引用的镜像),以及可选的卷。" 这不一定是你想要的,特别是当你刚开始使用Docker时。例如,Unused
意味着 当前未使用
,而不是像你在开始使用Docker时所期望的那样 不再有用
或者 不会再被使用
。
sudo mount -o remount,size=16G /tmp/