pylab与ipython的EPD版本有关



我最近切换到了ipython的EPD版本(我有64位学生版),现在我在pylab上遇到了问题。当我键入"导入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位).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有问题。

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

1) 正如tsyu80所指出的,你的PATH可能指向苹果的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,它也可能是从苹果的软件包中导入的。看见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

最新更新