【问题标题】:import skimage not a Valid Win32 application python3导入 skimage 不是有效的 Win32 应用程序 python3
【发布时间】:2019-04-11 13:13:01
【问题描述】:

我正在尝试运行需要 skimage 的 this file。所以,我使用pip install scikit-image 安装了 scikit-image。但是当我运行文件时,我得到了这个错误:

Traceback (most recent call last):
  File "D:/Studies/07) IISC/Academics/1st Sem/E9 241 - Digital Image Processing/Assignments/FinalProject/Codes/tensorlayer/tensorlayer/examples/pretrained_cnn/tutorial_vgg19.py", line 18, in <module>
    import skimage
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\__init__.py", line 167, in <module>
    from .util.dtype import (img_as_float32,
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\util\__init__.py", line 12, in <module>
    from ._montage import montage, montage2d
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\util\_montage.py", line 2, in <module>
    from .. import exposure
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\exposure\__init__.py", line 1, in <module>
    from .exposure import histogram, equalize_hist, \
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\exposure\exposure.py", line 4, in <module>
    from ..color import rgb2gray
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\color\__init__.py", line 1, in <module>
    from .colorconv import (convert_colorspace,
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\skimage\color\colorconv.py", line 369, in <module>
    rgb_from_xyz = linalg.inv(xyz_from_rgb)
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\scipy\linalg\basic.py", line 946, in inv
    a1 = _asarray_validated(a, check_finite=check_finite)
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\scipy\_lib\_util.py", line 228, in _asarray_validated
    import scipy.sparse
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\scipy\sparse\__init__.py", line 229, in <module>
    from .csr import *
  File "D:\Workspaces\Anaconda\envs\dip_project\lib\site-packages\scipy\sparse\csr.py", line 15, in <module>
    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: DLL load failed: %1 is not a valid Win32 application.

我在 google 和 StackOverflow 上进行了搜索。许多答案建议下载并安装 64 位版本的 scikit-image。我试过了,没有运气。 This 回答建议安装 64 位版本的 Pillow。我试过了,没有运气。

我在 64 位 Windows 8.1 上使用 python 3.7。我在 Anaconda3 创建的虚拟环境中使用 python。
所以,我什至尝试了conda install scikit-image。这升级了我的numpy 和很多其他人,但并没有解决问题。相反,在完成这一步之后,我什至无法导入numpycv2 等。 conda remove scikit-image 让我回到之前的状态。我什至尝试过创建一个全新的 conda 环境,但同样的问题。

我完全被困在这里,不知道如何继续。请帮忙!!!

【问题讨论】:

  • 这些都安装了吗? (检查pip list --local)numpy>=1.11 scipy>=0.17.0 matplotlib>=2.0.0,!=3.0.0 networkx>=2.0 枕头>=4.3.0 imageio>=2.0.1 PyWavelets>=0.4。 0 dask[array]>=0.9.0 cloudpickle>=0.2.1
  • 我有 numpy-1.15.4,scipy=1.1.0,networkx=2.2,Pillow=5.3.0,PyWavelets=1.0.1,dask=0.20.0,cloudpickle=0.6.1 .所以,我没有 matplotlib 和 imageio。我会尝试使用 pip 安装它们并再次检查。
  • 已安装 matplotlib=3.0.1 和 imageio=2.4.1。没有成功。同样的错误
  • 有些东西似乎从根本上坏了。我会做所有与 python 或 conda 有关的事情,然后从头开始重试。我想我是通过 Anaconda Navigator (windows 10) 安装的,没有遇到任何问题
  • 您可以尝试将枕头降级到 4.x。我遇到了 5.x 版本的 DLL 问题。我可能会降级其他一些库。另外,我不确定枕头是否支持 Python 3.7。你试过 Python 3.6 吗?

标签: python scikit-learn pip anaconda scikit-image


【解决方案1】:

使用 Python 3.6 解决了这个错误,我不知道如何或为什么! 我按照以下步骤操作,一切正常

conda create -n test01 python=3.6
conda install scikit-image

我不确定是否重要的​​另一件事是我从 anaconda 提示符启动 spyder。但事实证明 spyder 没有安装在环境“test01”中。所以,当我打开 Anaconda Navigator 时,有一个安装 spyder 的选项。我再次安装了 spyder 并在那里打开了 spyder 并且它起作用了。

【讨论】:

    猜你喜欢
    • 2013-12-07
    • 2013-11-03
    • 2017-04-16
    • 2012-07-03
    • 2019-03-02
    • 2016-12-07
    • 2021-10-15
    • 2011-06-23
    相关资源
    最近更新 更多