Python 在mac osx lion中安装MatplotLib
我试图在Mac OSX Lion中安装matplotlib。尝试使用sourcefourge站点中的二进制文件,但我遇到了以下错误:“matplotlib需要系统Python 2.7才能安装” 我来到终端,输入python——版本及其检查需求 在此之后,我尝试使用pip,但在使用过程中,出现了以下错误: “src/_image.cpp:908:错误:无效使用不完整的类型'struct png_info_def'” 你能告诉我如何安装它吗 非常感谢 编辑:我找到了一种不用安装新版本python的方法: 我建议使用,它应该考虑依赖性,并且与系统python版本无关 编辑:考虑到对该答案的评论,仅作一些澄清 为什么要使用macports(或其他安装程序)?因为它们处理依赖关系,所以提供了卸载和在版本之间切换的功能(我已经成功地将后者用于gcc和python)。因为默认安装位置不是系统可执行文件位置。重写系统python可能会破坏依赖它的应用程序(在许多Linux发行版中确实如此,在mac OS X上可能不是这样) 什么时候特别有用?当您想安装在Python版本的顶部时,它与系统Python不同,当您有非Python扩展(C、C++、FORTRAN…)时, 缺点是什么?正如@Trond在评论中提到的,如果您对包的默认编译没有意见,那就好了。若您是从源代码构建的,那个么您并没有配置或编译器标志的句柄 macports的一个很好的替代方案是,它似乎给了您更多的控制(从源代码构建)。我不确定它是否已经完全为mac OS X Lion做好准备。您可以尝试使用“官方”python发行版,苹果可能已经对提供的版本进行了调整。您可以在此处找到2.7版本: 您可能还需要重新安装numpy,请注意: 我建议也安装scipyPython 在mac osx lion中安装MatplotLib,python,macos,matplotlib,osx-lion,Python,Macos,Matplotlib,Osx Lion,我试图在Mac OSX Lion中安装matplotlib。尝试使用sourcefourge站点中的二进制文件,但我遇到了以下错误:“matplotlib需要系统Python 2.7才能安装” 我来到终端,输入python——版本及其检查需求 在此之后,我尝试使用pip,但在使用过程中,出现了以下错误: “src/_image.cpp:908:错误:无效使用不完整的类型'struct png_info_def'” 你能告诉我如何安装它吗 非常感谢 编辑:我找到了一种不用安装新版本python的方
让我知道它是否有效;) 我知道这将花费更多的时间,但我建议从源代码处安装python、numpy和matplotlib,以确保系统的一致性。从错误中可以看出,您可能对libPNG支持有问题。我写了一封信,你可能会觉得有用。它包含如何安装python、numpy、matplotlib和所有必要的依赖项的说明。我知道您正在使用Python2.7,我列出的方向是针对Python2.6.5的,但这将是相同的方法。希望你能成功 这是因为libpng v1.5(包括在Mac OSX Lion中)的API发生了变化。更改已经推送到上游,因此您需要从上游存储库编译,直到下一个版本 您可以按照上的说明进行操作。我遵循了这一点。我被卡住了
pip install -e git+https://github.com/matplotlib/matplotlib#egg=matplotlib-dev
然后我做了:
git clone https://github.com/matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install
通过键入终端来检查我的安装:
python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__
我得到了版本0.10.0dev(在撰写本文时)和path/usr/local/cillar/…您可以安装Python 2.6版本的Matplotlib,假设Lion中包含Python2.6(Mac OS 10.6“雪豹”中包含py2.5和2.6,请键入Python2.6以了解是否安装了该版本) 在MacPorts上,您可以通过以下方式执行此操作:
sudo port install py26-matplotlib
其中py26-。。。(或py25-…、py27-…等)指示它的目标python版本。(检查托盘/端口列表以获得正确的包裹名称,以防我猜错)@downvoter,是否要发表评论?如果答案有问题,我会很高兴地把它修好或者一起删除。(我没有投票,但我也不认为这是一个答案。)通常在OSX中,您可以使用easy_install安装python软件包。OS X留下了用于用户安装的/Library/Python/$VERSION/site包。使用macports需要在系统上额外安装一个完整的python,这并不可怕。我发现使用macports或fink安装第三方python库非常有用,因为第三方python库可能需要与系统python不同的python版本。更改系统python总是会导致麻烦。使用macports,您可以进行自包含安装,并选择要使用的python版本。我之所以推荐这样做,是因为我曾尝试从dmg安装matplotlib本身,这需要升级系统python,并导致各种各样的问题。macoprts解决方案对我来说很好。我可以使用easy_install/pip在已安装的macport上安装python@juanchopanza:+1,但我想听听您对系统python的评论,即为什么在您的开发环境中使用它是个坏主意。FWIW,我不是MacPorts的粉丝。我建议你在回答中加入这一评论——这会让你的回答更好(更有说服力)——不管怎样,这都是你回答的隐含理由。@juanchopanza:Macports很好,如果你对Python的默认编译感到满意,但是如果你想支持Fortran,Macports将无法满足你所有的依赖性,zlib、NetCDF等。在这一点上,从source.Hi编译是有意义的。谢谢你的建议。我可以安装它,但遇到了一个小问题。python.org版本的2.7是64位的,我们只有32位版本的matplotlib。你知道如何改变python以32位模式工作吗?这个怎么样?我已经试过了。它给出了我发布的关于libpng的错误。我已经试着安装libpng,但结果是一样的。我只是设法让它工作。现在我对show()方法有一个问题,但这并不重要。我用保存图代替。非常感谢。那么你最后做了什么?要使其与32位matplotlib一起工作,这是正确的。唯一的曲