我对pip的预期用法感到困惑。Pip是随Python一起安装的,这很棒,但当新版本发布时,我会收到以下警告:
WARNING: You are using pip version 21.1.1; however, version 21.1.3 is available.
You should consider upgrading via the '/usr/local/opt/[email protected]/bin/python3.8 -m pip install --upgrade pip' command.
字符串
我按照说明使用他们给出的命令安装它。但随后它卸载了我现有的PIP,无法安装新版本。
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.1.1
Uninstalling pip-21.1.1:
ERROR: Could not install packages due to an OSError: Cannot move the non-empty directory '/usr/local/lib/python3.8/site-packages/pip-21.1.1.dist-info/': Lacking write permission to '/usr/local/lib/python3.8/site-packages/pip-21.1.1.dist-info/'.
型pip
命令现在无法识别,升级pip的官方documentation建议运行:
python -m pip install -U pip
型
这给出了相同的权限错误。
我谷歌这个错误,发现社区高度建议不要sudo从这些问题(this和this).他们还建议pip3 install --upgrade pip --user
也给出了同样的错误.普遍的共识是只安装pip软件包在虚拟环境中,但我犹豫让pip完全关闭.
所以我让pip使用sudo
安装,但不清楚我是否无意中影响了(或将影响未来)系统范围的安装,或者我如何检查这些。
我不明白为什么在/usr/local/
中安装pip
需要sudo
,以及是否应该只在虚拟环境中使用pip,而不要在虚拟环境之外使用pip
2条答案
按热度按时间8ljdwjyq1#
pip
可以与sudo
一起安装到您没有写入权限的文件夹中。但是,它可以将软件包安装到该文件夹的 * 外部 *(因此,安装到您有写入权限的文件夹中)。但是,建议您不要将pip
安装到根文件夹中,而是将其安装到主目录中。9bfwbjaz2#
以root身份安装pip的命令是
字符串
然后它会提示你输入密码。我建议你在安装的时候使用sudo。