pip升级与安装失败求助:TypeError及缓存禁用问题
解决pip升级时的TypeError(缓存配置错误)
问题原因
你的pip缓存配置存在错误:cache-dir被设置为整数(而非合法路径),或者缓存禁用的方式不正确,导致pip在拼接路径时触发TypeError: expected str, bytes or os.PathLike object, not int。
解决方案
1. 临时绕过缓存完成pip升级
先通过--no-cache-dir参数跳过缓存,优先修复pip本身:
python3 -m pip install --upgrade pip --no-cache-dir
2. 修复缓存配置
检查当前配置
执行命令查看缓存相关设置:
pip3 config list
如果输出中包含global.cache-dir = 0这类无效值,按以下方式修正:
启用缓存(指定合法路径)
设置一个有效的缓存目录:
pip3 config set global.cache-dir ~/.cache/pip
禁用缓存(正确方式)
如果需要禁用缓存,不要设置cache-dir为整数,而是使用官方支持的配置项:
pip3 config set global.no-cache-dir true
手动编辑配置文件
也可以直接编辑pip的配置文件(位置通常为~/.config/pip/pip.conf或系统级的/etc/pip.conf),删除错误的cache-dir条目,或添加正确的禁用配置。
3. 彻底重装pip(极端情况)
如果上述方法都无效,彻底卸载并重新安装pip(以Debian/Ubuntu系统为例):
# 卸载现有pip sudo apt remove --purge python3-pip # 重新安装 sudo apt install python3-pip
内容的提问来源于stack exchange,提问作者Joachim Spange
相关产品推荐
相关产品推荐

