這是我的問題。我無法通過pip
和來源(Matplotlib installation on Mavericks)安裝MatPlotLib。我試過brew install matplotlib
,安裝成功結束。但是,它全局安裝了MatPlotLib,而不是在當前激活的VirtualEnv中。如何告訴自制軟件在virtualenv裏面安裝?
是否可以告訴brew在當前的VirtualEnv中安裝包?
這是我的問題。我無法通過pip
和來源(Matplotlib installation on Mavericks)安裝MatPlotLib。我試過brew install matplotlib
,安裝成功結束。但是,它全局安裝了MatPlotLib,而不是在當前激活的VirtualEnv中。如何告訴自制軟件在virtualenv裏面安裝?
是否可以告訴brew在當前的VirtualEnv中安裝包?
我幫助維護自制軟件-python tap。這不是也不會被支持,並且有可能不是一個簡單的方法來做到這一點。
這是由於Homebrew將軟件包安裝到Homebrew的前綴中,這必然是全局性的。 Homebrew不知道virtualenvs或如何安裝軟件包。改變這將違反Homebrew設計的核心假設,即軟件包總是安裝到他們的私人Homebrew前綴。
對不起!
虛擬環境所做的只是通過修改PATH
變量來改變Python解釋器的調用方式。 Homebrew沒有看這個,因爲它不使用Python來安裝軟件包(就像pip
一樣)。正如Tim所說的那樣,Homebrew每次都會在自己的前綴中安裝。
人們可以想象一個修改過的Python虛擬環境,它也安裝了自己的Homebrew副本,但這幾乎是一件壞事。
你可以做,如果你想在虛擬環境中自制包,是能夠在VENV系統網站套餐什麼(在Python3,這將是python3 -m venv --system-site-packages ~/path/to/venv
)。這也可以用來更新現有的虛擬環境。
啓用系統網站套餐允許Python使用全球已安裝的軟件包,但它仍然會搜索VENV 第一裏面,你可以通過pip
安裝的東西覆蓋全局包。據我所知,在這種情況下,你會走到正確的道路上。
你能解釋一下爲什麼嗎? – 2017-01-26 14:40:09
Homebrew將軟件包安裝到Homebrew的前綴中,這必須是全局的。 Homebrew不知道virtualenvs或如何安裝軟件包。改變這將違反Homebrew設計的核心假設,即軟件包總是安裝到他們的私人Homebrew前綴。 – 2017-01-27 16:44:19