Pylab ImportError - 未加载库 - 混淆Mountain Lion的目录结构?

时间:2013-04-07 11:10:03

标签: python macos

我在使用以前的计算机(我之前的工作计算机)时写了一个小程序,这是一台Windows机器。现在,基于朋友的建议,我得到了一台Mac,但是我有一段时间来处理它。

特别是,我的程序使用pylab(matplotlib的一部分),我在import pylab之后有一个ImportError:

Error: ~/Documents/New folder/Programowanie/Projekt/SimAccents_v2d.py:2: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pylab.py:1: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/pylab.py:222: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mpl.py:2: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axis.py:14: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/text.py:29: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backend_bases.py:47: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/textpath.py:11: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mathtext.py:61: ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library not loaded: /opt/X11/lib/libpng15.15.dylib

我在Python IDLE中尝试import matplotlib,这很有效,所以显然问题在于pylab,而不是matplotlib。但是,我尝试了import matplotlib.pyplot并得到了几乎相同的错误,我猜是因为它们是非常相似的matplotlib模块/部分。

我在互联网上做了很多挖掘,发现了一些可能有用的东西,但结果却更加混乱。 This post似乎与我的问题类似,作者通过“在系统的site-packages文件夹中删除(进行备份后)matplotlib文件夹(/Library/Python/2.7/site-packages)”解决了这个问题。 。我希望这可能有用的原因是Python可能正在查找该文件的错误位置。

为了检查这一点,我使用了找出matplotlib安装位置的方法:

>>> import matplotlib
>>> matplotlib.__file__
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/__init__.pyc'

...和matplotlib的目录位置:

>>> matplotlib.get_configdir()
'/Uses/stanislawpstrokonski/.matplotlib'

调查这些路径,我发现第二个是隐藏文件夹,它只包含两个文件 - .DS_Store(hidden)和fontList.cache。然而,第一个目录更加诡异,因为Python说该目录,包括上面错误消息的最终“问题”文件,存在:

>>> os.path.isfile('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_png.so')
True

...但是我无法在我的Mac上找到〜/ Library / Frameworks,因为它们都没有出现在Finder中,Mac OS终端似乎也找不到它:

Stanislaws-MacBook-Pro:~ stanislawpstrokonski$ cd ~/Library/Frameworks
-bash: cd: /Users/stanislawpstrokonski/Library/Frameworks: No such file or directory

/ Library / Python的故事完全相同 - Python证实了它的存在,但终端否认它。但是,当我输入此代码到终端时,它决定路径确实存在:

Stanislaws-MacBook-Pro:~ stanislawpstrokonski$ cd /usr/bin; ls -l python2.7
lrwxr-xr-x  1 root  wheel  75 16 Nov 16:30 python2.7 ->  ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

我检查的另一件事是来自原始ImportError的Library not loaded:路径:

>>> os.path.isfile('/opt/X11/lib/libpng15.15.dylib')
False

所以也许问题是我错过了这条路?我该怎么办呢? matplotlib是不是意味着在安装时对这类东西进行排序?

我不知道为什么pylab是行为不端的,当wxPython和numpy(以及显然,除了pylab和pyplot之外的matplotlib)似乎工作得很好。我也对Mac OS X的目录结构感到困惑,尽管我仍然觉得这可能是问题的根源。另一个原因可能是我已经在我的机器上安装了Python,但是我听说Mac OS已经安装了Python,所以这两者可能会以某种方式相互混淆。

对不起,这篇文章太长了,但是当我不确切地知道问题出在哪里时,我觉得我必须写下所有内容。任何人都可以帮助我让pylab工作,或许在这个过程中启发我的Macs吗?我将非常感激。

P.S。我使用Mountain Lion,两周前我买了我的Mac。

p.p.s。 This person似乎遇到了类似的问题,尽管这是一个不同意的问题......

1 个答案:

答案 0 :(得分:0)

我在OS X上遇到类似matplotlib的问题。你只需要安装libpng。我使用过brewbrew install libpng