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


当前回答

如果你想使用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

其他回答

我为Python 3安装了anaconda。我的mac里也有Python2。

python --version

给我

Python 3.7.3

python2.7 --version

给我

Python 2.7.10

我想在python2中安装pyspark包,因为它已经安装在python3中。

python2.7 -m pip install pyspark

给出了一个错误

由于环境错误无法安装包:[Errno 13] 权限被拒绝:'/Library/Python/2.7/site-packages/pyspark' 考虑使用——user选项或检查权限。

下面的命令解决了这个问题。感谢上帝,我不需要做任何配置更改。

python2.7 -m pip install pyspark --user

收集pyspark需求已经满足:py4j==0.10.7 in /Library/Python/2.7/site-packages (from pyspark) (0.10.7 已收集包:pyspark Successfully installed pyspark-2.4.4你 使用的是PIP 18.1版本,但是19.3.1版本可用。你 应该考虑通过'pip install——upgrade pip'命令进行升级。

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

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

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

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

这招对我很管用:

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

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

我已经尝试了这里张贴的所有建议,但我仍然得到errno 13,

我使用的是Windows, python版本是3.7.3

在尝试了5个小时后,这一步对我来说是有效的:

我尝试以管理员身份运行打开命令提示符

我正在运行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标志。