回答自己的问题,希望这有所帮助;如果有任何错误,请随时纠正。原始版本是一堵巨大的文字墙,因此我在顶部添加了一个“tl;dr”,仅列出步骤,以便更清楚地了解整个过程。
tl;dr: 在终端/ bash中进入虚拟环境(如果您想安装到其中)并按顺序输入这些命令。这在OSX Mountain Lion上经过测试。
pip install numpy
brew install gcc
pip install scipy
brew install freetype
pip install matplotlib
pip install nose
pip install pandas
pip install sympy
pip install ipython[all]
brew install pyqt
brew install qt
brew install sip
echo "export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH" >> ~/.bash_profile
source ~/.bash_profile
*注:如果使用brew安装pyqt,可能已经安装了qt和sip;如果是这样的话,在安装pyqt之后就不需要再安装qt和sip了。对于倒数第二行,将该行直接复制粘贴到~/.bash_profile中可能更加可靠,因为它可能需要放在~/.bash_profile内容的顶部。另外,brew install pandoc是可选的,但是对于ipython笔记本的nbconvert命令正常工作是必要的。
编辑10/13/14:[见底部的编辑]:在~/.bash_profile中编辑PYTHONPATH会强制虚拟环境继承全局包;如果您希望能够创建隔离的环境,请勿执行最后两个步骤。相反,假设已安装virtualenvwrapper,请编辑包含scipy内容的virtualenv下bin目录中的local postactivate和predeactivate脚本。
在postactivate中输入:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
在 predeactivate 中输入:
unset PYTHONPATH
当激活包含scipy内容的虚拟环境时,应该编辑PYTHONPATH以使ipython qtconsole可用,但在虚拟环境停用后,应重置PYTHONPATH以避免对其他虚拟环境的影响。
安装 ipython 很简单,但配置起来有点复杂。ipython 可以与 qt 控制台和称为 ipython notebook 的东西一起使用,它们具有各种优点。您可以选择只使用 pip install ipython 安装 ipython,并根据需要稍后安装可选依赖项,但我使用 pip install ipython[all] 安装了所有主要的可选依赖项。这将安装 ipython 以及许多其他软件包的依赖项(使用 backports.ssl-match-hostname(来自 tornado),certifi(来自 tornado),docutils(来自 sphinx),gnureadline,ipython,jinja2,markupsafe(来自 jinja2),numpydoc(from ipython[all]),pygments,pyzmq,sphinx,tornado)。这应该是 ipython 使用标准 ipython shell、qt 控制台和 ipython notebook 的良好基础。但是,如果要使用 qt 控制台或笔记本电脑,则尚未完全设置。
要使用 qt 控制台,必须 brew install pyqt、qt 和 sip 软件包,因为这些是无法使用 pip 安装的依赖项;从经验上看,brew install pyqt 似乎安装了所有三个软件包,但单独安装这三个软件包可能更安全。完成此操作后,进入 ~/.bash_profile 并添加“export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH”行;然后在终端中键入“source ~/.bash_profile”以重新加载 shell。这应该成功启动 qt 控制台。(我不完全确定为什么需要添加此行,因为我已经编辑了 PATH 变量以将 /usr/local/bin 放在 /usr/bin 之前,但也许 qt/pyqt/sip 仍然在尝试将自己链接到系统默认 python 而不是 homebrew 安装的 python。)
笔记本电脑似乎可以直接使用,至少我所见过的都可以正常工作,但有一件事情需要注意:为了使用 nbconvert(将笔记本转换为不同的文件格式),必须安装 pandoc 软件包,大概是通过 homebrew 安装的。与 qt/pyqt/sip 一样,它无法使用 pip 安装,这就是为什么它没有随 pip install ipython[all] 一起安装的原因。
编辑 10/13/14:所以显然,编辑 PYTHONPATH 将使空虚拟环境失效,从而使全局软件包也可以在虚拟环境中使用 (how to isolate virtualenv from local dist-packages?)。这在很大程度上破坏了虚拟环境的目的,假设您想要一个新鲜的环境,但是对于 ipython qtconsole 的正确工作是必要的。
修复方法是编辑(假设已安装virtualenvwrapper)虚拟环境的bin文件中的本地postactivate和predeactivate脚本。在postactivate中输入一行“export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH;” 在predeactivate中输入一行“reset PYTHONPATH”。不要执行原始序列的最后两个步骤,或删除添加到~/bash_profile的行。这样可以使对PYTHONPATH的更改仅在激活了安装软件包的虚拟环境时进行,以便qtconsole起作用,但在虚拟环境停用之前重置,以便不影响其他环境。