tch*_*ore 18 python macos matplotlib macports freetype
我正在尝试安装matplotlib,用于在Mac OS X上用Python绘制应用程序.当我运行"python setup.py install"时,它给了我很多错误:http://pastebin.com/u7fL37ic.
一个快速片段:
src/ft2font.cpp:2170: error: ‘FT_LOAD_TARGET_MONO’ was not declared in this scope
src/ft2font.cpp:2171: error: ‘FT_LOAD_TARGET_LCD’ was not declared in this scope
src/ft2font.cpp:2172: error: ‘FT_LOAD_TARGET_LCD_V’ was not declared in this scope
src/ft2font.cpp:2175: error: ‘_ft2Library’ was not declared in this scope
src/ft2font.cpp:2175: error: ‘FT_Init_FreeType’ was not declared in this scope
src/ft2font.cpp: In destructor ‘virtual ft2font_module::~ft2font_module()’:
src/ft2font.cpp:2186: error: ‘_ft2Library’ was not declared in this scope
src/ft2font.cpp:2186: error: ‘FT_Done_FreeType’ was not declared in this scope
lipo: can't figure out the architecture type of: /var/folders/Nj/Njnlp9qSF64sMESWcaDnk++++TI/-Tmp-//cchyYmM5.out
error: command 'gcc-4.0' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我使用MacPorts安装了freetype,我认为这样可以解决问题,但没有运气.给我同样的错误.它看起来无法找到正确的freetype文件:
BUILDING MATPLOTLIB
matplotlib: 1.0.0
python: 2.6.5 (r265:79359, Mar 24 2010, 01:32:55) [GCC
4.0.1 (Apple Inc. build 5493)]
platform: darwin
REQUIRED DEPENDENCIES
numpy: 1.5.0
freetype2: found, but unknown version (no pkg-config)
* WARNING: Could not find 'freetype2' headers in any
* of '.', './freetype2'.
Run Code Online (Sandbox Code Playgroud)
我应该在哪里放置freetype文件以便找到它们?现在他们在/ opt/local/lib
有任何想法吗?
mho*_*son 33
问题的根源是freetype和libpng由XCode安装在非规范位置,在/ usr/X11而不是/ usr或/ usr/local中.
已经给出的所有答案都通过手动或使用像homebrew这样的包管理器重新构建freetype和libpng来解决问题.
但是,您可以通过简单地将现有的freetype/libpng标头和库符号链接到/ usr/local树中来获取matplotlib:
sudo mkdir -p /usr/local/include
sudo ln -s /usr/X11/include/freetype2/freetype /usr/local/include/freetype
sudo ln -s /usr/X11/include/ft2build.h /usr/local/include/ft2build.h
sudo ln -s /usr/X11/include/png.h /usr/local/include/png.h
sudo ln -s /usr/X11/include/pngconf.h /usr/local/include/pngconf.h
sudo ln -s /usr/X11/include/pnglibconf.h /usr/local/include/pnglibconf.h
sudo mkdir -p /usr/local/lib
sudo ln -s /usr/X11/lib/libfreetype.dylib /usr/local/lib/libfreetype.dylib
sudo ln -s /usr/X11/lib/libpng.dylib /usr/local/lib/libpng.dylib
Run Code Online (Sandbox Code Playgroud)
我更喜欢用pip构建python包,所以我会使用:
sudo pip install matplotlib
Run Code Online (Sandbox Code Playgroud)
如果您还没有pip,可以使用easy_install(OS X附带)安装它:
sudo easy_install pip
Run Code Online (Sandbox Code Playgroud)
我只在10.7(Lion)上测试了这个,但我怀疑它也适用于10.6.
这有点像黑客,但我发现它是最简单的方法来安装matplotlib与OS X附带的股票python框架.10.7中的股票python框架实际上是相当不错的,包括,为实例,一个与Apple优化的BLAS库(Accelerate)链接的numpy-1.5.1软件包:
dyldinfo -dylibs /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/linalg/lapack_lite.so
for arch x86_64:
attributes dependent dylibs
/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
/usr/lib/libSystem.B.dylib
Run Code Online (Sandbox Code Playgroud)
小智 8
很老,但是当我在Snow Leopard上遇到同样的问题时,我的搜索仍然会出现.
你说你在使用自制软件,所以你需要
brew link freetype
Run Code Online (Sandbox Code Playgroud)
安装后(使用"brew install freetype").
这遇到了这个错误.我用libpng做了同样的事情,导致安装成功.
小智 7
我最近获得了一台新的工作计算机(MacBook Pro OS 10.6.5),并希望在Python虚拟环境中安装numpy + scipy + matplotlib.我不是专家,但虚拟环境似乎允许您安装软件包,使它们与系统范围的软件包隔离,主要是通过巧妙地重新定义系统路径.因此,对于我正在处理的一个项目,需要这些软件包的某些版本,我可以安装它们一次,并在那里为该项目完成所有工作,而不依赖于我在环境之外进行的其他更改.
经过大量的反复试验,我能够构建一个Numpy 1.5.1,Scipy 0.8.0和Matplotlib 1.0.0的虚拟环境,所有这些都运行得很完美.这是如何做:
首先,安装以下四个包:
(我是新用户,因此我无法发布这些链接,抱歉!).
如果从源代码安装,请使用标准安装:
接下来,下载numpy,scipy和matplotlib的源文件.
现在是时候在文件夹TESTENV中创建一个虚拟环境了:
$ virtualenv/path/to/dir/TESTENV
激活虚拟环境:
$来源./路径/到/ DIR/TESTENV /斌/启动
现在,python包将安装在TESTENV中,就好像它是根安装目录一样.对我有用的是执行:
$ python setupegg.py安装
在numpy,scipy和matplotlib源文件夹中(按此顺序).
希望有所帮助!
小智 0
您也可以考虑使用 Enthought 发行版(对于非商业用途甚至免费)它完全安装完毕,没有任何困难 http://www.enthought.com/products/getepd.php (我与 Enthought 没有任何关系 -我只是一个满意的用户)
| 归档时间: |
|
| 查看次数: |
25526 次 |
| 最近记录: |