【问题标题】:How to install scikit-image when the installation appears broken安装出现故障时如何安装 scikit-image
【发布时间】:2019-09-12 10:40:00
【问题描述】:

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

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

我正在关注this tutorial,我知道我需要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

但结果似乎是这样的:

Traceback(最近一次调用最后一次):

文件“”,第 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))

ImportError:无法从“skimage._shared”导入名称“geometry” (C:\Users\me\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\skimage_shared__init__.py) scikit-image 似乎没有正确构建。

但我认为这很重要:

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

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

提前致谢


EDIT1: 我已经按照答案,我已经运行了:

!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、6、setuptools


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

from skimage import data

给出不同的错误:

Traceback(最近一次调用最后一次):

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

文件 "C:\Users\me\AppData\Local\Continuum\anaconda3\Lib\site-packages\skimage__init__.py", 第 127 行,在 从 .util.dtype 导入 (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-packages\numpy__init__.py", 第 142 行,在 从 。导入核心

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

文件 "C:\Users\me\AppData\Local\Continuum\anaconda3\lib\ctypes__init__.py", 第 356 行,在 init 中 self._handle = _dlopen(self._name, mode)

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

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

【问题讨论】:

  • 我看到你正在使用 anaconda,尝试从 anaconda 中卸载/安装软件包或使用conda install
  • @Sparky05 ,谢谢,在 anaconda 提示符中发送相同的命令(没有!)我成功卸载/安装了该软件包,我重新启动了 Spyder,我得到了一个不同的错误,上面发布了。
  • 我已经创建了一个答案,其中包含一些有用的链接,这些链接指向 python 环境的文档和用于创建它们的 condo 文档(如果你没有 gui,它真的很容易使用)。如果您是Python 的新手并且基于您的R 背景,我建议您可以看看jupyter notebooks,它的交互式单元感觉更接近R
  • (这里是 Spyder 维护者) 您的问题告诉我,在我们的控制台中允许使用 !pip/!conda 安装软件包会导致非常混乱和令人讨厌的问题,所以我决定停用它我们的下一个版本。我们的控制台旨在运行 Python 代码,而不是运行系统命令。所以用户不应该使用它来通过它安装软件包,因为 pip 和 conda 都期望一个真正的系统终端,而不是模拟终端的东西,但实际上不是。
  • 此外,您不应该使用 pip 安装 Anaconda 提供的软件包(如 scikit-image),因为大多数 pip 和 conda 科学软件包不兼容(Pandas、Numpy、Matplotlib 等),这意味着使用 pip 和 Anaconda 安装它们通常会损坏 Anaconda,您需要重新安装它。因此,通过禁止 pip/conda 安装,我们还可以向用户显示一条消息,指出在 Anaconda 中使用 pip 是一个非常糟糕的主意。

标签: python python-3.x spyder scikit-image


【解决方案1】:

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

pip uninstall scikit-image
pip install scikit-image

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

【讨论】:

  • 谢谢,我先是!pip uninstall scikit-image --yes,然后是!pip install scikit-image,您可以在问题中看到更新。
  • 这也适用于 conda uninstall scikit-image conda install scikit-image!
【解决方案2】:

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

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

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

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

为什么在您的情况下使用虚拟环境?

目前,它看起来像是来自您的系统安装的包的混合,路径类似于

“C:\Users\me\AppData\Local\Programs\Python...”

anaconda 的安装,路径来自

“C:\Users\me\AppData\Local\Continuum\anaconda3\Lib...”

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

【讨论】:

    【解决方案3】:
    1. pip 卸载 scikit-image
    2. conda 安装 scikit-image

    看来 conda 会安装一些其他的依赖包。 它对我有用。

    【讨论】:

      【解决方案4】:

      对我来说这很有效:-

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

      【讨论】:

      • 这与this other answer 中的解决方案相同。 在回答已有答案的旧问题时,请确保提供新颖的解决方案或比现有答案更好的解释。
      猜你喜欢
      • 2017-04-21
      • 2018-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2021-03-25
      相关资源
      最近更新 更多