在我的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中安装一个自动推荐的包。

其他回答

我为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'命令进行升级。

我犯了同样的错误,然后我意识到我以root用户创建了我的虚拟环境。已受写保护,因此请检查虚拟环境是否受写保护。制作一个新的venv,然后再试一次

只需执行PIP install packagename

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

pip install --user xxx

例如:安装bcrypt包

pip install --user bcrypt

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

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

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