已安装全依赖OpenCV,安装Matplotlib遇Permission denied错误如何解决?
解决Matplotlib安装时的权限拒绝问题
这个权限报错太常见啦,原因很简单:你当前的普通用户没有权限修改系统级的Python包目录(就是报错里的/usr/local/lib/python3.5/dist-packages/),默认的pip安装会往全局位置装,自然就被系统拦住了。给你几个实用的解决办法,按优先级推荐:
优先使用
--user选项安装(最安全)
直接在命令里加上--user参数,把Matplotlib装在你自己的用户专属目录里,完全不需要管理员权限:pip install matplotlib --user安装后的包会存在
~/.local/lib/python3.5/site-packages/这类用户目录下,只有你能访问,也不会干扰系统的全局依赖环境。如果需要全局安装(所有用户可用),用
sudo提升权限
如果你确实需要让所有用户都能用到这个包,可以用sudo获取管理员权限来安装:sudo pip install matplotlib输入你的用户密码后就能正常安装了。不过要提醒一句,用sudo装包可能会影响系统全局的依赖,除非必要,还是优先选第一种方法哦。
进阶方案:用虚拟环境隔离依赖
要是你经常搞Python项目,强烈建议用虚拟环境来管理每个项目的依赖,避免不同项目的包版本冲突,步骤也很简单:# 创建一个名为myenv的虚拟环境(名字随便改) python3 -m venv myenv # 激活虚拟环境 source myenv/bin/activate # 现在直接安装Matplotlib就行,完全不需要权限 pip install matplotlib之后要退出虚拟环境的话,直接输入
deactivate就可以了。
内容的提问来源于stack exchange,提问作者Maximilian von Unwerth
相关产品推荐
相关产品推荐

