如何在安装出现损坏时安装 scikit-image



我是Python的新手,来自R,我不是程序员,所以如果我的问题很愚蠢或琐碎,请耐心等待,但我自己找不到解决方案。

我在Windows 10机器的Spyder中使用Python 3.7

我正在学习本教程,并且我已经了解我需要scikit-image模块。

我了解到外部软件包应该在Spyder的同一环境中导入,所以我从Spyder安装它们:

! pip install scikit-image

我得到了这个:

已满足要求:scikit-image in C:\users\me\appdata\local\programs\python\python37-32\lib\site-packages (0.15.0) ...

pillow,networkx,PyWavelets,imageio,decorator,numpy(我想它们是依赖项模块)也是如此。看来我有我需要的东西。

所以我尝试上面提到的教程的第一个命令,即:

from skimage import data

但结果似乎是这样的:

回溯(最近一次调用):

文件 ",第 1 行,在 从 skimage 导入数据

文件 "C:\Users\me\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\skimage__init__.py", 第 124 行,在 _raise_build_error(e)

文件 "C:\Users\me\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\skimage__init__.py", 104路,_raise_build_error %s"" % (e, msg))

导入错误:无法从"skimage._shared"导入名称"几何图形" (C:\Users\me\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\skimage_shared__init__.py) 似乎scikit图像尚未正确构建。

但我认为这很重要:

您的scikit映像安装似乎已损坏。尝试重新安装 按照以下说明的软件包: https://scikit-image.org/docs/stable/install.html

所以我去了那个链接,但标准安装是我尝试做的。我做错了什么?

提前致谢


编辑1: 我已经遵循了答案,我已经运行了这个:

!pip uninstall scikit-image --yes
Uninstalling scikit-image-0.15.0:
Successfully uninstalled scikit-image-0.15.0

然后

!pip install scikit-image

结果是already satisfied

已满足要求:scikit-image in C:\users\me\appdata\local\continuum\anaconda3\lib\site-packages (0.15.0)

同样适用于:matplotlib,networkx,pillow,imageio,PyWavelets,numpy,cycler,kiwisolver,pyparsing,python-dateutil,decorator,six,setuptools


EDIT2:,在 anaconda 提示符下完成,已经满足了一些包,所以我重新启动了 Spyder,并发送:

from skimage import data

给出不同的错误:

回溯(最近一次调用):

文件 ",第 1 行,在 从 skimage 导入数据

文件 "C:\Users\me\AppData\Local\Continuum\anaconda3\Lib\site-packages\skimage__init__.py", 第 127 行,在 从 .util.dtype import (img_as_float32,

文件 "C:\Users\me\AppData\Local\Continuum\anaconda3\Lib\site-packages\skimage\util__init__.py", 第 1 行,在 从 .dtype 导入 (img_as_float32, img_as_float64, img_as_float,

文件 "C:\Users\me\AppData\Local\Continuum\anaconda3\Lib\site-packages\skimage\util\dtype.py", 第 1 行,在 将 numpy 导入为 NP

文件 "C:\Users\me\AppData\Local\Programs\Python\Python37-32\Lib\site-packagesumpy__init__.py", 第 142 行,在 从。导入核心

文件 "C:\Users\me\AppData\Local\Programs\Python\Python37-32\Lib\site-packagesumpy\core__init__.py", 第 23 行,在 WinDLL(os.path.abspath(filename))

文件 "C:\Users\me\AppData\Local\Continuum\anaconda3\lib\ctypes__init__.py", 第 356 行,初始化self._handle = _dlopen(self._name,模式)

OSError: [WinError 193] %1 它不是 Win32 的有效应用程序

(最后一行由我翻译)我已经搜索过,但尽管这是一个众所周知的问题,但我找不到解决方案。

建议的解决方案:创建新的(虚拟)环境

从给定的输出中,我建议创建一个新环境来封装当前开发的所有包。

有关环境和 anaconda 的帮助,您可能需要查看此处或在 gui 中创建它们。

您可以在文档中找到一些使用虚拟环境的理由。 简而言之:环境是一种简单的方法,可以为不同的项目提供单独的包版本,并且您可以将开发与系统python安装分开,后者可能具有不同的包。

为什么在您的案例中采用虚拟环境?

目前,它看起来像是系统安装中的软件包的混合,路径如下

"C:\Users\me\AppData\Local\Programs\Python...">

和蟒蛇的装置,路径来自

"C:\Users\me\AppData\Local\Continuum\anaconda3\Lib...">

这可能会导致您的问题(并且可能会导致更多问题)。

安装时似乎出了点问题。您可能需要通过以下方式重新安装它:

pip uninstall scikit-image
pip install scikit-image

如果在最后一步(保存输出)中有任何错误,请在此处发布。这将提供关于问题出在哪里的线索。

  1. pip uninstall scikit-image
  2. 康达安装scikit-image

康达似乎会安装一些其他依赖数据包。 它对我有用。

对我来说,这奏效了:-

pip uninstall scikit-image && pip install scikit-image

最新更新