我是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
中,它可能存在某种链接错误(?),但不幸的是初学者很难解决这个问题。有人可以帮忙吗?
答案 0 :(得分:1)
您的问题的关键可能是您运行的是非常旧的Mac OS X版本,因为_strnlen
甚至无法使用until 10.7 release。
Anaconda至少是为OS X 10.7构建的(根据this),所以你可能在这里运气不好,可能的解决方案是升级系统。
答案 1 :(得分:0)
好的,如果我正确理解你在说什么,我建议你在python文件所在的同一文件夹中添加软件包。如果可能的话,添加你用来导入数据的代码,这样我就可以找到任何可能的错误