为什么第一次导入skimage失败,而第二次成功?

3
当我导入skimage时,出现了一条奇怪的错误信息,似乎与scikit-image、numpy和dask的版本不匹配有关,但如果我立即再次尝试导入,则一切正常。
(base) me@balin:~$ python
Python 2.7.15 |Anaconda, Inc.| (default, Dec 14 2018, 19:04:19) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import skimage
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/me/anaconda2/lib/python2.7/site-packages/skimage/__init__.py", line 167, in <module>
    from .util.dtype import (img_as_float32,
  File "/home/me/anaconda2/lib/python2.7/site-packages/skimage/util/__init__.py", line 6, in <module>
    from .apply_parallel import apply_parallel
  File "/home/me/anaconda2/lib/python2.7/site-packages/skimage/util/apply_parallel.py", line 8, in <module>
    import dask.array as da
  File "/home/me/anaconda2/lib/python2.7/site-packages/dask/array/__init__.py", line 9, in <module>
    from .routines import (take, choose, argwhere, where, coarsen, insert,
  File "/home/me/anaconda2/lib/python2.7/site-packages/dask/array/routines.py", line 256, in <module>
    @wraps(np.matmul)
  File "/home/me/anaconda2/lib/python2.7/functools.py", line 33, in update_wrapper
    setattr(wrapper, attr, getattr(wrapped, attr))
AttributeError: 'numpy.ufunc' object has no attribute '__module__'
>>> import skimage
>>> 

>>> skimage.__version__
'0.14.2'

>>> import numpy as np
>>> np.__version__
'1.16.2'

>>> import dask
>>> dask.__version__
u'1.0.0'

import numpy as np, dask, skimage 这样怎么样?(每个在单独的语句中) - CristiFati
这里必须使用一些有条件的导入。在第一次尝试中,skimage导入skimage.util,然后是dask.array,它试图加载其例程。在第二个导入中,该链被打破,因为其中一个软件包已经加载,尽管它的一些(可选)依赖项没有加载。 - Roland Weber
@CristiFati - 不行,但感谢您的建议。 - user1245262
无论如何,我看到你找到了答案! - CristiFati
1个回答

1

谢谢,我已经意识到版本问题,并一直在使用anaconda-navigator尝试选择两个兼容的版本。但是,让我困惑的是为什么第一个导入失败了,而第二个成功了。我本以为要么两者都失败,要么两者都成功。 - user1245262

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接