在Mac OSX Lion中安装matplotlib
-
22-10-2019 - |
题
我试图在Mac OSX Lion中安装Matplotlib。试图使用SourceFourge站点中的二进制文件,但我遇到了一个错误:“ Matplotlib需要系统2.7才能安装”。
我去了终端,打字了python及其检查要求。
此后,我尝试使用PIP,而这样做的同时会出现以下错误:
“ src/_image.cpp:908:错误:不完整类型的使用无效'struct png_info_def'”
您能给我如何安装它的线索吗?
非常感谢。
编辑:我找到了一种方法,而无需安装新版本的Python:
解决方案
您可以尝试使用“官方” Python发行版,Apple可能已经调整了所提供的python。您可以在这里找到2.7: http://www.python.org/download/ 您可能还必须重新安装numpy和后词: http://sourceforge.net/projects/numpy/files/numpy/1.6.1/
我建议安装Scipy,让我知道它是否有效;)
其他提示
这是因为libpng v1.5的API发生了变化(Mac OSX狮子包含在内)。更改已经被推到上游,因此您需要从上游存储库进行编译,直到下一个版本。
您可以按照说明 http://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-on-os-os-x-10-7-with-homebrew/
我遵循了这个 页面的说明. 。我被困在
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.0 dev版本(截至撰写本文)和路径/usr/local/cellar/...
我建议使用 Macports, ,它应该照顾依赖项,并且将是系统版本的独立性。
编辑: :仅考虑到这个答案的评论,只有几个澄清。
为什么要使用MacPorts(或其他安装程序)?因为他们要照顾依赖项,请提供卸载功能并在版本之间切换(我成功地将后者用于GCC和Python)。并且因为默认安装位置不是系统可执行的位置。覆盖系统Python可以打破依赖它的应用程序(在许多Linux发行版中肯定是正确的,在Mac OS X上可能较少)。
什么时候特别有用?当您要安装在与系统python不同的Python版本的顶部时,并且当您具有非Python扩展名时(C,C ++,Fortran ...)。
什么是倒下的一面?正如@trond在评论中提到的那样,如果您可以默认包装包装,那就很好。您没有从源头构建的那样,没有配置或编译器标志的句柄。
Macports的一个好替代品是 Fink, ,这似乎可以为您提供更多的控制(从源构建)。我不确定它是否已经准备好了Mac OS X Lion。
我知道这将需要更多的时间,但是我将从源中提起安装Python,Numpy和Matplotlib,以确保您在系统中具有一致性。从错误来看,您可能会出现LIBPNG支持的问题。我有一本书如何在Mac OSX上安装Python开发工具“您可能会发现有用。它包含有关如何安装python,numpy,matplotlib和所有必要依赖项的方向。我知道您正在使用Python 2.7,而我列出的方向则适用于Python 2.6.5,但它将是同样的方法。希望您能够工作。
您可以只安装Matplotlib的Python 2.6版本,假设狮子包含Python2.6(Mac OS 10.6“ Snow Leopard”中包含Python2.6 - 尝试键入 Python2.6 找出是否已安装该版本。)。
在Macports上,您可以通过类似的操作来执行此操作:
sudo port install py26-matplotlib
其中py26 -...(或py25 -...,py27 -...等)指示它的目的是哪种python版本。 (如果我猜错了,请检查托盘/端口列表以获取正确的软件包名称)