0

我最近切换到了 ipython 的 EPD 版本(我有 64 位学​​生版),现在我在使用 pylab 时遇到了问题。当我输入“import pylab”时,它给了我以下错误

ImportError                               Traceback (most recent call last)
<ipython-input-1-0c66bb86b884> in <module>()
----> 1 import pylab

/Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/pylab.py in <module>()
----> 1 from matplotlib.pylab import *
      2 import matplotlib.pylab
      3 __doc__ = matplotlib.pylab.__doc__

/Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/pylab.py in <module>()
    219      silent_list, iterable, dedent
    220 
--> 221 from matplotlib import mpl  # pulls in most modules
    222 
    223 from matplotlib.dates import date2num, num2date,\

/Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/mpl.py in <module>()
      1 from matplotlib import artist
----> 2 from matplotlib import axis
      3 from matplotlib import axes
      4 from matplotlib import cbook
      5 from matplotlib import collections

/Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/axis.py in <module>()
      8 from matplotlib.artist import allow_rasterization
      9 import matplotlib.cbook as cbook
---> 10 import matplotlib.font_manager as font_manager
     11 import matplotlib.lines as mlines
     12 import matplotlib.patches as mpatches

/Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/font_manager.py in <module>()
     50 import matplotlib
     51 from matplotlib import afm
---> 52 from matplotlib import ft2font
     53 from matplotlib import rcParams, get_configdir
     54 from matplotlib.cbook import is_string_like

ImportError: dlopen(/Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/ft2font.so, 2): Symbol not found: _FT_Attach_File
  Referenced from: /Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/ft2font.so
  Expected in: flat namespace
 in /Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg/matplotlib/ft2font.so

我需要 pylab/matplotlib 才能生存,所以这很糟糕。有趣的是,当我双击 /Applications/Enthought/ 文件夹中的 PyLab (64-bit).app 时,它会打开一个终端并且 pylab 运行良好,但当我从命令行调用它时它就不起作用,或者当我使用笔记本时。如果我可以让 python 使用我从 EPD 获得的 pylab 版本,那么一切都会好起来的,但默认情况下它会从 /Library/Python/2.7/site-packages/matplotlib-1.1.0-py2.7 导入东西-macosx-10.7-intel.egg/matplotlib/ ft2font.so 出了点问题。

4

1 回答 1

4

看起来您的 EPD python 和您使用 Apple 的 python 安装的软件包之间存在冲突。

1) 正如 tsyu80 所指出的,您的 PATH 可能会将您指向 Apple 的 python,因此您可能正在启动它的 ipython 而不是 EPD。如果是这种情况,将以下行添加到您的 ~/.bash_profile 文件中应该可以解决此问题(尽管在 EPD 安装期间应该已经添加了这些行)

# Setting PATH for EPD-7
PATH="/Library/Frameworks/EPD64.framework/Versions/Current/bin:${PATH}"
export PATH

请注意,您应该新建一个终端会话以使这些设置生效。

2) 即使您启动 EPD 的 (i)python,它也可能是从安装在 Apple 的软件包中导入的。请参阅https://support.enthought.com/entries/22094157-OS-X-Conflict-with-installed-packages-in-earlier-Python-installation

3)一旦你解决了这个问题,一定要更新到最新版本的 ipython: https: //support.enthought.com/entries/22415022-Using-enpkg-to-update-EPD-packages

于 2013-02-22T03:23:04.590 回答