gpt4 book ai didi

python - 如何使用pip和自制软件安装SciPy Stack?

转载 作者:行者123 更新时间:2023-12-04 13:49:56 24 4
gpt4 key购买 nike

我正在尝试将基本的scipy堆栈(numpy,scipy,matplotlib,pandas,sympy,ipython,nose)安装到virtualenv中;目前,我正在使用OSX Mountain Lion。从这些软件包的安装页面以及Web上和Web上的各种线程来看,似乎只需pip即可轻松安装pandas,sympy和nose(尽管有些列表是numpy/scipy/etc作为依赖项)。

但是,正确安装numpy,scipy,matplotlib以及在一定程度上安装ipython *似乎存在冲突和复杂的指令。仅使用pip安装似乎不是安装这些软件包的正确方法。似乎需要通过自制软件安装某些依赖项,但是在pip安装numpy/scipy/etc之前,各个地方列出了要打包安装的不同软件包。在pip安装numpy,scipy和matplotlib之前,是否需要通过homebrew安装的软件包依赖关系的详细列表是否完整?

只是要注意,我已经考虑过使用Homebrew/python来通过Homebrew正确安装numpy,scipy和matplotlib,但是我想安装到virtualenv中,我不认为我可以使用homebrew来做到这一点。

任何帮助将不胜感激;提前致谢!

*此外,对于ipython,安装页面上说pip install ipython [all]应该足够了,但是其他一些来源(http://www.coderstart.com/setup/python-setup.html; http://www.lowindata.com/2013/installing-scientific-python-on-mac-os-x/)似乎建议先在pip之前先安装qt,pyqt和zmq软件包。安装ipython;是否需要进行自制程序安装,或者根据ipython安装页面仅进行pip安装就可以了吗?

最佳答案

在这里回答我自己的问题,但希望这会有所帮助;如果有任何错误,请随时纠正。原始版本是一堵巨大的文字墙,因此我在顶部添加了tl; dr,其中仅包含一些步骤,希望可以使过程更加清晰。

tl; dr:在终端/bash中,进入virtualenv(如果要安装到其中),然后按顺序输入这些命令。这已针对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。对于倒数第二行,将c/p该行直接〜/.bash_profile可能更可靠,因为它可能需要位于〜/.bash_profile内容的顶部。另外,brew install pandoc是可选的,但对于ipython Notebook的nbconvert命令正常工作是必需的。

编辑10/13/14 [请参见底部编辑]:在〜/.bash_profile中编辑PYTHONPATH会强制虚拟环境继承全局程序包;如果您希望能够创建隔离的环境,请不要执行最后两个步骤。相反,假设安装了virtualenvwrapper,请在包含scipy内容的virtualenv下的bin目录中编辑本地postactivate和predeactivate脚本。

在后激活中,输入:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH 

在预停用中,输入:
unset PYTHONPATH

当激活带有scipy内容的virtualenv时,这应该编辑PYTHONPATH,以便ipython qtconsole起作用,但是当取消激活virtualenv时,应该重置PYTHONPATH,以便其他virtualenv不受PYTHONPATH更改的影响。

以下是详细的叙述版本。

无论如何,从我最初发布问题后的反复试验中,我发现以下步骤可以工作;我使用了上面链接的两套说明作为一般指导,并且已在OSX Mountain Lion上对其进行了测试。

激活要在其中安装软件包的virtualenv之后,请首先pip install numpy;然后,执行pip install numpy。这应该可以按预期工作,并且应该安装numpy(请注意,应先安装numpy,因为scipy堆栈中的许多其他软件包都取决于numpy)。

现在,在安装scipy之前,有几个消息来源指出,需要安装gfortran(这似乎是最常见的,但是我认为任何fortran编译器都可以工作)。 brew install gfortran返回一个错误,指出gcc现在包括gfortran,因此不赞成使用gfortran公式。因此,我们酿造了gcc(注意,即使通常在自制软件之前安装的xcode命令行工具已经包含gcc,其gcc版本还是不起作用或不包含gfortran)。安装gcc后,pip install scipy可以正常工作,应该安装scipy。快速说一下:brew install gcc会安装gcc以及一堆依赖项,即cloog,gcc,gmp,isl,libmpc,mpfr。 [这些都应安装到/usr/local/Cellar,这是自制软件的默认安装位置。]

要安装matplotlib,首先需要安装freetype,因此我们冲泡安装freetype。这应该安装freetype和libpng,这似乎是一个freetype依赖项。之后,pip install matplotlib将按预期工作,成功安装了matplotlib。请注意,matplotlib会安装模拟程序(需要运行matplotlib测试套件),pyparsing(需要Mathtext支持),python-dateutil(需要日期轴支持),六个(没有给出原因)。 [这些都应与virtualenv中的任何其他pip安装一起安装到virtualenv中的site-packages目录中。]

安装 Nose ,sympy和pandas只需要pip安装,因为它们没有需要进行brew安装的任何依赖项。但是,请注意,其中至少 Pandas 依赖于numpy,因此在安装numpy之后安装 Pandas (不知道其他 Pandas )可能是更可取的选择。另外,请注意,pandas随pytz一起安装(用于时区计算)。

安装ipython非常简单,但是设置起来却有些复杂。请注意,ipython可以与qt控制台和称为ipython notebook的东西一起使用,它们具有许多优点。您可以选择仅通过pip install ipython安装ipython并在以后根据需要安装可选的依赖项,但是我使用pip install ipython [all]安装了所有主要的可选依赖项。这将安装ipython以及其他许多软件包依赖项(使用backports.ssl-match-hostname(来自 Tornado ),certifi(来自 Tornado ),docutils(来自狮身人面像),gnureadline,ipython,jinja2,markupsafe(来自jinja2)安装,numpydoc(来自ipython [all]),pygments,pyzmq,狮身人面像, Tornado )。这对于ipython同时使用标准ipython shell,qt控制台和ipython笔记本应该是一个很好的基础。但是,如果要使用qt控制台或笔记本电脑,则尚未完全设置好。

要使用qt控制台,必须先安装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软件包,大概是通过自制软件安装的。 。像qt/pyqt/sip一样,不能与pip一起安装,这就是为什么不与pip install ipython [all]一起安装的原因。

edit 14/10/13:因此,显然,编辑PYTHONPATH将使空的虚拟环境无效,从而使全局包也可以在virtualenv( how to isolate virtualenv from local dist-packages?)中使用;在大多数情况下,这假设您想要一个全新的环境,这违背了virtualenv的目的,但是对于ipython qtconsole正常工作而言,这是必需的。

解决方法是编辑(假设已安装virtualenvwrapper)virtualenv的bin文件中的本地后激活脚本和预激活脚本。在后激活中,输入“export PYTHONPATH =/usr/local/lib/python2.7/site-packages:$ PYTHONPATH”行;在预激活中,输入“reset PYTHONPATH”。请勿执行原始操作的最后两步序列,或删除添加到〜/bash_profile的行。这应该是这样的,以便仅当激活带有我们安装的软件包的virtualenv时,才对PYTHONPATH进行更改,以便qtconsole起作用,但在virtualenv停用之前将其重置,这样其他环境就不会受到影响。

关于python - 如何使用pip和自制软件安装SciPy Stack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26319762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com