在虚拟环境中运行homebrew

5

简单问题:在虚拟环境中运行homebrew是否是一个坏主意?

如果是,那么有没有办法每次运行homebrew命令时自动取消虚拟环境?我不相信自己总能记得取消虚拟环境或者打开新的终端窗口。

2个回答

5
自己在文档中发现了这个问题,通常最好不要在活动的虚拟环境中使用brew install。文档中的引用如下:

警告:当你安装提供Python绑定的配方时,不应该处于活动的虚拟环境中。

在brew之后激活虚拟环境,或在新的Terminal窗口中进行brew操作。 Homebrew仍将Python模块安装到Homebrew的site-packages中,而不是虚拟环境的site-package。

Virtualenv有一个开关,允许从虚拟环境内部访问“全局”(即Homebrew的)site-packages。

因此,如果您确定要安装的配方不会尝试提供新的Python绑定,则可以放心地进行安装。但对于我来说,如果没有特殊原因需要使用虚拟环境,请记得事先deactivate

2

我认为它们之间没有关联。当你使用virtualenv时,你需要使用pip来管理python包。这样可以确保你的新内容在你创建的沙盒中。据我所知,home-brew会全局安装东西。因此最好不要使用它来获取python模块。希望有所帮助。


好的,这是计划,但在虚拟环境中运行像 brew doctor 这样的命令然后解决问题还可以吗? - e h
是的,应该没问题。它们是全局固定的,与您的沙盒无关。您可以随时使用“pip list”查看您拥有哪些库和哪个版本。(如果您在沙盒中,则会显示可用于沙盒的内容) - Hossein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接