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