Python:安装了Anaconda,但无法在Jupyter笔记本中导入numpy或matplotlib

时间:2016-10-11 16:15:12

标签: python numpy matplotlib anaconda jupyter-notebook

我是Python的新手,所以也许有一个简单的解决方案。我安装了Anaconda,并认为一切都会很简单,但即使Jupyter工作正常,我也无法将numpy和matplotlib导入到我的笔记本中。相反,我得到了这个错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-1e0540761e0c> in <module>()
----> 1 import matplotlib.pyplot as plt
      2 vals = [1, 2, 3, 4]
      3 plt.plot(vals)

//anaconda/lib/python3.5/site-packages/matplotlib/__init__.py in <module>()
    120 # cbook must import matplotlib only within function
    121 # definitions, so it is safe to import from it here.
--> 122 from matplotlib.cbook import is_string_like, mplDeprecation, dedent, get_label
    123 from matplotlib.compat import subprocess
    124 from matplotlib.rcsetup import (defaultParams,

//anaconda/lib/python3.5/site-packages/matplotlib/cbook.py in <module>()
     31 from weakref import ref, WeakKeyDictionary
     32 
---> 33 import numpy as np
     34 import numpy.ma as ma
     35 

//anaconda/lib/python3.5/site-packages/numpy/__init__.py in <module>()
    144         return loader(*packages, **options)
    145 
--> 146     from . import add_newdocs
    147     __all__ = ['add_newdocs',
    148                'ModuleDeprecationWarning',

//anaconda/lib/python3.5/site-packages/numpy/add_newdocs.py in <module>()
     11 from __future__ import division, absolute_import, print_function
     12 
---> 13 from numpy.lib import add_newdoc
     14 
     15 ###############################################################################

//anaconda/lib/python3.5/site-packages/numpy/lib/__init__.py in <module>()
      6 from numpy.version import version as __version__
      7 
----> 8 from .type_check import *
      9 from .index_tricks import *
     10 from .function_base import *

//anaconda/lib/python3.5/site-packages/numpy/lib/type_check.py in <module>()
      9            'common_type']
     10 
---> 11 import numpy.core.numeric as _nx
     12 from numpy.core.numeric import asarray, asanyarray, array, isnan, \
     13                 obj2sctype, zeros

//anaconda/lib/python3.5/site-packages/numpy/core/__init__.py in <module>()
     12         os.environ[envkey] = '1'
     13         env_added.append(envkey)
---> 14 from . import multiarray
     15 for envkey in env_added:
     16     del os.environ[envkey]

ImportError: dlopen(//anaconda/lib/python3.5/site-packages/numpy/core/multiarray.so, 10): Symbol not found: _strnlen
  Referenced from: /anaconda/lib/python3.5/site-packages/numpy/core/../../../..//libmkl_intel_lp64.dylib
  Expected in: flat namespace
 in /anaconda/lib/python3.5/site-packages/numpy/core/../../../..//libmkl_intel_lp64.dylib

由于两个软件包都显示在$ conda list中,它可能存在某种链接错误(?),但不幸的是初学者很难解决这个问题。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您的问题的关键可能是您运行的是非常旧的Mac OS X版本,因为_strnlen甚至无法使用until 10.7 release

Anaconda至少是为OS X 10.7构建的(根据this),所以你可能在这里运气不好,可能的解决方案是升级系统。

答案 1 :(得分:0)

好的,如果我正确理解你在说什么,我建议你在python文件所在的同一文件夹中添加软件包。如果可能的话,添加你用来导入数据的代码,这样我就可以找到任何可能的错误