2013-09-21 91 views
2

我在Mac上安装了matplotlib并且成功了。之后,我在matplotlib导入错误python

import matplotlib.pyplot as plt 

在我的代码输入我得到了以下错误:

Traceback (most recent call last): 
File "q2.py", line 5, in <module> 
import matplotlib.pyplot as plt 
File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-intel.egg/matplotlib/pyplot.py", line 26, in <module> 
import matplotlib.colorbar 
File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-intel.egg/matplotlib/colorbar.py", line 31, in <module> 
import matplotlib.artist as martist 
File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-intel.egg/matplotlib/artist.py", line 10, in <module> 
from .transforms import Bbox, IdentityTransform, TransformedBbox, \ 
File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-intel.egg/matplotlib/transforms.py", line 38, in <module> 
from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox, 
ImportError: dlopen(/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.8-intel.egg/matplotlib/_path.so, 2): Symbol not found: ___emutls_get_address 
Referenced from: /usr/local/lib/libstdc++.6.dylib 
Expected in: /usr/local/lib/libgcc_s.1.dylib 
in /usr/local/lib/libstdc++.6.dylib 

我跟着下面的链接安装说明:

https://github.com/matplotlib/matplotlib/blob/master/README.osx 

安装没有问题。有谁知道为什么会发生?

谢谢!

+1

[此相关的问题(HTTP:// stackoverflow.com/questions/7885246/what-is-the-emutls-get-address-symbol)可能有帮助 – jedwards

+0

你使用的是与安装matplotlib相同的python吗? – tacaswell

回答

1

我知道这个问题有点陈旧,但我最近遇到了同样的问题,无法在网上找到解决方案。我想我可能调试帮助别人那里......

显然有与libgcc_s.1.dylib和libstdC++的不兼容。在/ usr/当地/lib目录/发现6.dylib库。我备份这些文件,然后SYM在/ usr/lib目录中的文件/文件链接

sudo mv /usr/local/lib/libgcc_s.1.dylib /usr/local/lib/libgcc_s.1.dylib.old 
sudo mv /usr/local/lib/libstdc++.6.dylib /usr/local/lib/libstdc++.6.dylib.old 

sudo ln -s /usr/lib/libgcc_s.1.dylib /usr/local/lib/libgcc_s.1.dylib 
sudo ln -s /usr/lib/libstdc++.6.dylib /usr/local/lib/libstdc++.6.dylib 

我现在可以导入pyplot :)

+0

非常好。我得到了这个错误'ImportError:dlopen(/usr/local/lib/python2.7/site-packages/cv2.so,2):找不到符号:___emutls_get_address 引用自:/ usr/local/lib/libstdC++。 6.dylib 预计位于:/usr/lib/libSystem.B.dylib 位于/ usr/local/lib/libstdC++。6.dylib'中,移动并链接您的答案中的'libstdC++'dylibs修复了它。 – AGS