2015-10-11 167 views
5

我嘗試在虛擬環境中使用sudo安裝Flask和一些軟件包,但試圖導入Flask時,它會拋出一個ImportError。雖然它工作正常,但使用pip install安裝相同的軟件包。 那麼這些方法有什麼區別?我在Ubuntu上試了這個。pip install和sudo pip install有什麼區別?

另外,pip在哪裏安裝這些軟件包?翻翻堆棧溢出我只能找到這個問題的答案如何列出由PIP安裝的軟件包的問題,​​而不是在哪裏可以找到他們(在上下文中的虛擬環境)

+0

'PIP install'安裝你目前正登錄的用戶。 'sudo pip install'以root用戶身份安裝 – inspectorG4dget

+1

通常系統軟件包安裝時沒有普通用戶的寫權限,因此您必須使用'sudo'來提升權限,以便'pip'可以安裝到系統軟件包。您可以安裝軟件包的本地副本,理想情況下使用'virtualenv',您不需要提升權限。 – AChampion

+0

相關:[在sudo下運行pip install是否可以接受和安全?](http://stackoverflow.com/q/15028648/95735),[運行'sudo pip'的風險是什麼?](http:/ /stackoverflow.com/q/21055859/95735) –

回答

3
pip install 

將運行pip install當前用戶


sudo pip install 

將運行pip install安全權限的另一個用戶的root例如。
有時您可能需要運行sudo才能在系統上安裝軟件包。


您可能需要閱讀linux-101-introduction-to-sudo

+2

當需要sudo時,您可以指定示例嗎?似乎'pip安裝scipy'需要這個。 – mrgloom

相關問題