簡體   English   中英

如何告訴Homebrew在virtualenv中安裝?

[英]How to tell Homebrew to install inside virtualenv?

這是我的問題。 我無法通過pip和源代碼安裝MatPlotLib( Mavericks上的Matplotlib安裝 )。 我嘗試了brew install matplotlib ,安裝成功結束。 但是,它全局安裝了MatPlotLib,而不是在當前激活的VirtualEnv中。

是否可以告訴brew在當前VirtualEnv中安裝包?

我幫忙維護自制的python龍頭。 這不是也不會得到支持,可能沒有一種簡單的方法可以做到這一點。

這是因為Homebrew將軟件包安裝到Homebrew的前綴,這必然是全局的。 Homebrew不了解virtualenvs或如何在其中安裝包。 改變這將違反Homebrew設計的核心假設,即包總是安裝到他們的私人Homebrew前綴。

抱歉!

虛擬環境所做的就是通過修改PATH變量來改變Python解釋器的調用。 Homebrew不看那個,因為它不使用Python來安裝包(比如pip )。 按照設計,Tim說,Homebrew每次都安裝在自己的前綴中。

人們可以想象一個修改過的Python虛擬環境也可以安裝自己的Homebrew副本,但這幾乎是一件壞事。

如果你想在虛擬環境中使用Homebrew軟件包,你可以做的是在venv中啟用系統站點包 (在Python3中,這將是python3 -m venv --system-site-packages ~/path/to/venv ) 。 這樣做也可以更新現有的虛擬環境。

啟用系統站點程序包允許Python使用全局安裝的程序包,但它仍將首先在venv中搜索,並且您可以通過使用pip安裝來覆蓋全局程序包。 據我所知,這就像你在那種情況下接近The Right Way一樣接近。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM