python - Pylab ImportError - 库未加载 - Mountain Lion 的目录结构令人困惑?

标签 python macos

我在使用我以前的计算机(我以前工作的计算机)时写了一个小程序,它是一台 Windows 机器。现在,根据一位 friend 的建议,我买了一台 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 模块/片段。

我在 Internet 上进行了大量挖掘,发现了一些可能有用的东西,但结果却更加困惑。 This post似乎与我的问题类似,作者通过“删除(备份后)我系统的站点包文件夹 (/Library/Python/2.7/site-packages) 中的 matplotlib 文件夹”解决了这个问题。我认为这可能起作用的原因是 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(隐藏)和 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 确认它的存在,但 Terminal 否认它。但是,当我将此代码输入到终端时,它确定该路径毕竟存在:

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

我检查的另一件事是 Library not loaded: path from the original ImportError:

>>> 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 正常工作,并在此过程中启发我了解 Mac 吗?我将不胜感激。

附注我正在使用 Mountain Lion,大约两周前我买了我的 Mac。

p.p.s. This person似乎有类似的问题,虽然它是一个不同的位,没有导入......

最佳答案

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

关于python - Pylab ImportError - 库未加载 - Mountain Lion 的目录结构令人困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861702/

相关文章:

python - jupyter 安装但当我尝试运行时无法识别 'jupyter'

python - 使用 xlsxwriter 在条件格式(公式)后删除列

xcode - 使无边框窗口具有更暗更大的阴影

macos - Mac OS X Sierra 10.12 上的 Apache ERR_CONNECTION_REFUSED

macos - 由于调用可疑的调试函数,CGContextDrawImage 的性能不佳

python - 使用 pandas 跨多个列进行选择

python - 在 Windows 中为 python 3 安装 Swampy

Python:对多维数组进行切片

java - 无法从 MAC OSX 上的后台 Java 应用程序复制到剪贴板

macos - 从AFS挂载的主目录进行SSH公/私钥身份验证