在我的MacOS Mojave终端上,我想用pip安装一个python包。最后它说:

You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

所以我想用给定的命令更新pip,但我得到了一个错误:

Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: 
'/Library/Python/2.7/site-packages/pip-18.0-py2.7.egg/EGG-INFO/PKG-INFO'
Consider using the `--user` option or check the permissions.

我真不知道现在该怎么办。我也意识到它在错误消息中说Python 2.7,但我已经并且只想使用Python 3。


当前回答

尝试下面的命令行MacOS检查用户的权限。

$ sudo python -m pip install --user --upgrade pip

其他回答

当我试图安装opencv-python包时,也会发生这种情况:

我可以用命令行修复它

python3 -m pip install {name of package} --user

当我尝试安装上述包时,命令变成:

python3 -m pip install opencv-python --user

结果是:

答案在错误消息中。在过去,你或进程执行了sudo pip,导致/Library/Python/2.7/site-packages/…拥有高于当前用户的权限。

然后执行pip install,修改一个你没有写权限的目录。

因此,要修复它,请访问/Library/Python/2.7/site-packages/…找到具有根或提升权限的目录,rm -rf yourpackages,然后用你的用户重新安装包,或者只是强制所有权给应该访问的用户使用chown -R…或chmod -R…

对于permissions命令,尝试在终端命令前使用sudo:

sudo pip install --upgrade pip

Sudo允许您以超级用户的特权运行该命令,并将安装用于全局系统级Python安装的包。理想情况下,您应该为正在进行的项目创建一个虚拟环境。看看这个

尝试像这样将pip作为可执行文件运行:

python3.6 -m pip install <package>

这招对我很管用:

 python3 -m venv env
 source ./env/bin/activate
 python -m pip install package

(来自Github: https://github.com/googlesamples/assistant-sdk-python/issues/236)

要查看是否确实存在权限问题,请运行以下命令安装名为xxx的包。

pip install --user xxx

例如:安装bcrypt包

pip install --user bcrypt