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


当前回答

我在用pip install numpy安装numpy时遇到了同样的问题。

然后我尝试了

sudo -H pip3 install——升级pip

sudo -H pip3安装numpy

这对我来说很有效。

解释: sudo的-H (HOME)选项将HOME环境变量设置为目标用户(默认为root)的主目录。缺省情况下,sudo不修改HOME。

其他回答

我在linux上挂载的NTFS分区上的venv中遇到了类似的问题,具有所有正确的权限。 确保pip运行——ignore-installed解决了这个问题,即:

Python -m PIP install——upgrade——ignore-installed

在Mac上,没有3.7目录或者3.7目录属于root目录。因此,我删除了该目录,由当前用户创建一个新目录,并将其移动到那里。然后安装完成,没有错误。

sudo rm -rf /Library/Python/3.7
mkdir 3.7
sudo mv 3.7 /Library/Python
ll /Library/Python/
pip3 install numpy

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

我可以用命令行修复它

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

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

python3 -m pip install opencv-python --user

结果是:

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

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

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

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

如果你想使用python3+来安装软件包,你需要使用pip3 install package_name

为了解决errno 13,你必须在最后加上——user

pip3 install package_name --user

编辑:

对于python中的任何项目,强烈建议在虚拟环境中工作,这是一个工具,通过为不同项目创建隔离的python虚拟环境,帮助保持不同项目所需的依赖关系。

为了用python3+创建一个,你必须使用以下命令:

virtualenv enviroment_name -p python3

然后你就可以通过激活它来处理它:

source enviroment_name/bin/activate

一旦虚拟环境被激活,虚拟环境的名称将出现在终端的左侧。这将让您知道虚拟环境当前处于活动状态。 现在,只需使用pip,就可以在这个虚拟环境中安装与项目相关的依赖项。

pip install package_name