我是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
如果在最后一步(保存输出)中有任何错误,请在此处发布。这将提供关于问题出在哪里的线索。
- pip uninstall scikit-image
- 康达安装scikit-image
康达似乎会安装一些其他依赖数据包。 它对我有用。
对我来说,这奏效了:-
pip uninstall scikit-image && pip install scikit-image