0
我正在使用Ubuntu 14.04
。我有一個腳本取決於pynotify
。當腳本運行在任何虛擬環境之外時,它運行良好(其他依賴關係也是全局安裝的),但是如果我在任何虛擬環境(安裝了其他依賴項)內運行相同的腳本,則不起作用。
然後我以爲我早就將它安裝了,但事實並非如此。我試過這個(全球):無法在virtualenv中導入pynotify
pip freeze | grep pynotify
但是,它沒有給出任何結果。這種行爲有沒有解釋?
它的工作原理。但是,這不違背工作virtualenv應該做的嗎?它正在使用已經在全球範圍內安裝的所有東西,那麼它有什麼幫助?我的意思是,沒有venv我們可以做同樣的事,對吧?通常,我們使用'pip freeze'生成'requirements.txt'文件並與其他人共享依賴關係,但在這種情況下,它將包含許多與此項目無關的內容。有沒有辦法只包括與需求相關的東西? –
__「使用--no-site-packages選項運行virtualenv將不包含全局安裝的軟件包,這對於保持軟件包列表清潔以防需要稍後訪問它很有用。 virtualenv 1.7及更高版本。「__來源:http://docs.python-guide.org/en/latest/dev/virtualenvs/#other-notes –
默認情況下,virtualenv會給你一個乾淨的環境,沒有安裝軟件包,也不會使用您的全球安裝軟件包。如果你想在你的項目中使用pynotify,我們的想法是在乾淨的環境下使用pip明確地和單獨地將pynotify安裝到該項目中,而不是使用已經安裝在系統上的全局包。 –