在我的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。


当前回答

我更改了我工作的venv的权限,因为在虚拟环境子文件夹中缺少权限。

sudo chmod -R a+rwx testenv

然后我可以从codium中安装一个自动推荐的包。

其他回答

我正在运行python3 -m pip install xxx

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.8'
Consider using the `--user` option or check the permissions.

/Library/Python/3.8表示我使用的python3是系统范围的Python,因此存在权限问题。涉及用户标志和虚拟环境的解决方案都在解决这个问题。

对我来说,使用冲泡最方便:

brew install python@3.8
brew link python@3.8
which python3

之后,python3 -m pip install xxx成功,没有问题。注意,不应该使用sudo。

原则是一样的:你要开始一个不那么优越的新环境。这意味着旧环境中需要的所有包都需要重新安装到新环境中。

如果你不想重新安装所有东西,我想使用——user标志。

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

sudo pip install --upgrade pip

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

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

python3.6 -m pip install <package>

当我试图安装一个包(flask-classful)时,我得到了同样的错误。 我犯了个错误,把anaconda安装成了根目录。我改变了已安装的anaconda文件夹的所有权,我可以成功安装包。

使用chown命令和选项-R来递归地改变已安装的anaconda文件夹的所有权,如下所示:

chown -R owner:group /path/to/anaconda

这里的owner是用户名,group是组名。

只需执行PIP install packagename

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

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