我正在尝试安装
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)
我可以知道为什么会产生错误吗?是说我在安装目录中没有足够的空间吗??
小智 28
很可能它正在尝试将数据下载到您的 /tmp 临时位置。我的猜测是默认设置(通常是你的 ram 的一半)太小而无法处理下载。
您可以tmp
使用以下命令禁用挂载:systemctl mask tmp.mount
. 在执行此操作之前要小心并进行研究。
或者,您可以通过执行以下操作
来设置您的TMPDIR
目录/var/tmp
export TMPDIR='/var/tmp'
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)
如果您正在使用 docker 容器,我建议您弄清楚为什么您的 docker 已满,然后清空占用空间的所有内容。
要弄清楚是什么占用了空间,请运行:
docker system df
之后运行:
docker <container/image/builder> prune --all
清理占据所有空间的任何东西。