这是我的问题。我无法通过pip
和源(Matplotlib installation on Mavericks)安装MatPlotLib。我尝试brew install matplotlib
,安装成功结束。但是,它全局安装了MatPlotLib,而不是在当前激活的VirtualEnv中。
是否可以告诉brew在当前VirtualEnv中安装软件包?
答案 0 :(得分:9)
我帮助维护homebrew-python tap。这不是也不会得到支持,可能不是一种简单的方法。
这是因为Homebrew将软件包安装到Homebrew的前缀,这必然是全局的。 Homebrew并不了解virtualenvs或如何在其中安装软件包。改变这将违反Homebrew设计的核心假设,即包总是安装到他们的私人Homebrew前缀。
抱歉!
答案 1 :(得分:1)
虚拟环境所做的就是通过修改PATH
变量来改变将调用Python解释器的内容。 Homebrew没有看,因为它不使用Python来安装包(如pip
那样)。按照设计,Tim说,Homebrew每次都安装在自己的前缀中。
可以想象一个修改过的Python虚拟环境也可以安装自己的Homebrew副本,但这几乎是一件坏事。
如果您希望在虚拟环境中使用Homebrew软件包,那么可以做的事情是在venv中启用系统站点软件包(在Python3中,这将是{{ 1}})。这样做也可以更新现有的虚拟环境。
启用系统站点程序包允许Python使用全局安装的程序包,但它仍将首先在venv 中搜索,并且您可以通过安装python3 -m venv --system-site-packages ~/path/to/venv
的内容来覆盖全局程序包。据我所知,这就像你在那种情况下接近The Right Way一样接近。