我正在通过 pip 安装一个软件包,但由于空间不足而失败(IOError: [Errno 28] No space left on device
)。唯一缺少空间的文件系统是 /dev/sda2。我不太明白它为什么满了,也不太明白它上面有什么文件,但我清除了旧内核以腾出更多空间。显然是可用空间不足,当我尝试再次安装软件包时,它失败了。
尝试安装后,可用空间变少,这让我认为尝试安装中的一些文件一定仍保留在 pip 目录中。如何删除尝试安装留下的这些文件?
另外,删除 pip 目录中其他未使用的文件也很好。我在 Linux 14.04 上。
答案1
一般来说,pip 会在其中一个/usr/lib/<python-version>/site-packages/
或/usr/local/lib/<python-version>/dist-packages/
(或lib64
而不是lib
)目录中安装软件包(对于 Ubuntu 来说应该是第二个,我猜你说的“Linux 14.04”就是这个意思),并使用/tmp
或/var/tmp
(再次基于你的发行版)来构建软件包。
但是,pip 不支持在部分安装后删除文件,因此您需要手动删除所有剩余文件。检查临时目录中的 pip 构建(如果存在,您应该能够安全地删除它们)。
对于安装中的实际文件,您可以尝试运行,pip uninstall <package-name>
希望它也能捕获您的部分安装(您可以使用它来删除通过 pip 安装的任何软件包)。否则,您需要找到相关文件并手动删除它们 - 使用类似的东西ls <directory-path> | grep <package-name>
来定位它们。请注意,对于使用命令进行实际删除rm
,您可能需要 root 访问权限。
安装也有可能添加了系统命令 - 检查/bin
、/usr/bin
和/usr/local/bin
其他目录,并继续与上一点类似的操作。
答案2
我不知道这是否有帮助:
sudo apt-get autoremove --purge
我经常使用它来删除为满足依赖关系而安装的不需要的软件包及其配置文件。希望这对您有所帮助。
答案3
对于 Ubuntu 20.04 上的 Python 3.8,我发现下载的文件位于
/home/username/.cache/pip
即使删除 venv 或移除 python3-pip 后,下载的文件仍保留在那里。
答案4
我知道这个问题很老了,但是
pip cache purge
这将删除 pip 的下载和内置的轮子缓存。