Ubuntu18.04 Python3.6环境pip仅加sudo可安装如何修复
错误根因
这个TypeError: expected str, bytes or os.PathLike object, not int报错是因为当前用户的pip配置中,cache_dir参数被错误设置为了整数类型,而非合法的路径字符串。使用sudo执行时调用的是root用户的pip配置,不存在该错误,因此可以正常运行。
修复步骤
- 第一步:排查用户级pip配置文件
常见的用户级pip配置路径为~/.pip/pip.conf、~/.config/pip/pip.conf,执行以下命令查看配置内容:
查找配置中是否存在cat ~/.pip/pip.conf cat ~/.config/pip/pip.confcache-dir相关行,若该行的值为数字(比如0、1等),即为错误配置。 - 第二步:修正错误配置
可以选择直接删除错误的cache-dir行,或者将其修改为合法的缓存路径,示例配置如下:[global] cache-dir = ~/.cache/pip - 第三步:排查环境变量配置
如果没有找到上述配置文件,执行命令echo $PIP_CACHE_DIR检查是否存在该环境变量,若输出为数字,说明环境变量被错误设置。
执行unset PIP_CACHE_DIR临时生效,再去用户的shell配置文件(~/.bashrc、~/.zshrc等)中删除错误的export PIP_CACHE_DIR=数字行,执行source ~/.bashrc(对应自己使用的shell)永久生效。 - 第四步:验证修复效果
重新执行原来的安装命令即可正常运行:
如果仍有兼容问题,可以先升级用户级pip版本后再执行安装:python3 -m pip install --user torch==1.9.1+cu111 --find-links https://download.pytorch.org/whl/torch_stable.htmlpython3 -m pip install --user --upgrade pip
内容的提问来源于stack exchange,提问作者user1315621
相关产品推荐
相关产品推荐

