![](/img/trans.png)
[英]What is the difference between pip install and sudo pip install?
[英]Difference between sudo -H pip install and pip --user install
我想知道這兩個命令之間有什么區別(我覺得它們是相同的):
sudo -H pip install <package>
pip --user install <package>
更多信息:
從 sudo 聯機幫助頁:
-H, --set-home
Request that the security policy set the HOME environment
variable to the home directory specified by the target user's
password database entry. Depending on the policy, this may be
the default behavior.
和 pip 用戶指南: https://pip.pypa.io/en/stable/user_guide/
相關問題:
pip 安裝和 sudo pip 安裝有什么區別?
“pip install --user ...”的目的是什么? 和
sudo pip 安裝 VS pip 安裝 --user
但是他們都沒有談論sudo -H
選項或兩者之間的確切區別。
sudo 是“超級用戶做”的縮寫。 它只是以 root 權限運行命令,如果您要安裝到通常無法訪問的目錄,這可能很有用。
但是,在您給出的示例中,這兩個命令的功能相同,因為您不需要 root 權限來pip install --user
區別歸結為授予 package 的權限,以及 package 的安裝位置。 當您以 root 身份運行命令時,package 將以 root 權限安裝。
這是一個例子:
運行sudo -H pip3 install coloredlogs
結果如下:
$ sudo pip3 show coloredlogs | grep Location
Location: /usr/local/lib/python3.8/dist-packages
$ ls -l /usr/local/lib/python3.8/dist-packages
drwxr-sr-x 4 root staff 4096 Feb 25 01:14 coloredlogs
$ which coloredlogs
/usr/local/bin/coloredlogs
運行pip3 install --user <package>
結果如下:
$ pip3 show coloredlogs | grep Location
Location: /home/josh/.local/lib/python3.8/site-packages
$ ls -l /home/josh/.local/lib/python3.8/site-packages
drwxrwxr-x 4 josh josh 4096 Feb 25 01:14 coloredlogs
$ which coloredlogs
coloredlogs not found
請注意兩者之間的位置差異,並注意使用--user
標志安裝時 package 未安裝在 PATH 上。 如果出於某種原因我想直接調用 package,我需要將/home/josh/.local/bin
添加到我的路徑中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.