安装SCRICIT-IMAGE

您应该如何安装 scikit-image 取决于您的需求和技能:

支持的平台

  • X86处理器上的Windows 64位

  • X86处理器上的Mac OS X

  • X86处理器上的Linux 64位

有关其他平台的信息,请参阅 other platforms

版本检查

来看看是否 scikit-image 已安装,或者要检查安装是否成功,请在Python外壳或Jupyter笔记本中运行以下命令:

import skimage
print(skimage.__version__)

或者,从命令行执行以下操作:

python -c "import skimage; print(skimage.__version__)"

(试一试 python3 如果 python 是不成功的。)

如果出现以下情况,您将看到版本号 scikit-image 已安装,否则将显示错误消息。

科学 Python 发行版

在一次安装中,这些组件就为您提供了Python, scikit-image 和它所依赖的类库,以及其他有用的科学包。它们安装在一个隔离的环境中,因此不会与任何现有的已安装程序冲突。

缺点是安装可能很大,而且您可能无法获得最新版本 scikit-image

我们推荐以下发行版之一:

在使用 scikit-image 文档,请确保它适用于您已安装的版本(请参见 Version check (见上文)。

通过pip和conda安装

这些仅安装 scikit-image 及其依赖项;pip可以选择包含相关的包。

皮普

Pip安装的先决条件:您可以使用系统的命令行来安装包,并使用 virtual environment (任何 several )。

虽然可以在没有虚拟环境的情况下使用pip,但不建议这样做:虚拟环境创建了一个干净的Python环境,该环境不会干扰任何现有的系统安装,可以很容易地删除,并且只包含您的应用程序需要的包版本。它们有助于避免常见的挑战,称为 dependency hell

要安装当前的 scikit-image 您至少需要安装Python3.6。如果您的Python版本较旧,pip会找到最新的兼容版本。

# Update pip
python -m pip install -U pip
# Install scikit-image
python -m pip install -U scikit-image

以包括一组其他科学的可扩展的Python包 scikit-image 的功能,例如并行处理,您可以安装该程序包 scikit-image[optional]

python -m pip install -U scikit-image[optional]

警告

请不要使用命令 sudopip 一起作为 pip 可能会覆盖可能需要您重新安装操作系统的关键系统库。

孔达

Minconda是Anaconda包的基本版本;您需要安装像这样的包 scikit-image 你自己。与Anaconda一样,它安装了Python并提供虚拟环境。

一旦设置了Conda环境,您就可以安装 scikit-image 使用以下命令:

conda install scikit-image

系统包管理器

使用包管理器 (yumapt-get (等)要安装 scikit-image 或其他Python包不是您的最佳选择:

  • 你可能会得到一个更老的版本。

  • 您可能希望在包管理器之外进行更新并添加新的包,这会给您留下与在没有虚拟环境的情况下使用pip时相同的依赖冲突。

  • 由于操作系统使用的是Python,因此存在额外的风险,因此如果您在系统范围内更改了Python(以超级用户身份安装或使用sudo),则可能会破坏操作系统。

正在下载所有演示数据集

我们的示例中使用的一些数据是在线托管的,并且不是按照上面解释的过程默认安装的。数据在第一次呼叫时下载一次,但这需要互联网连接。如果您希望下载所有演示数据集以便能够脱机工作,则可以运行以下命令:

python -c 'from skimage.data import download_all; download_all()'

或致电 download_all() 在您最喜欢的交互式Python环境中(IPython、Jupyter笔记本等)。

其他平台

我们仍然支持x86处理器上的Windows 32位,但强烈要求切换到Windows 64位。

不支持的平台包括:

  1. 32位x86处理器上的Linux。

  2. 32位ARM处理器上的Linux(运行Raspbian的Raspberry PI):

  3. 64位ARM处理器(NVIDIA Jetson)上的Linux:

尽管这些平台缺乏官方支持,但许多核心开发者都有使用它们的经验,可以帮助解决问题。

如果要在不受支持的平台上安装,请尝试 building from source

告诉我们你还想看哪些平台 scikit-image 在……上面!我们非常感兴趣的是如何 scikit-image vbl.取得 used

如果你想打包的话 scikit-image 对于尚不受支持的平台, reach out on GitHub

其他帮助

如果您仍有问题,请通过

为了建议对这些说明进行更改, please open an issue on GitHub

安装SCRICKIT-供投稿者使用的映像

我们假设您的计算机上已经配置了默认的Python环境,并且您想要安装 scikit-image 在它里面。

我们还对您的系统做了一些假设:

  • 您已经设置了一个C编译器。

  • 您已经设置了一个C++编译器。

  • 您正在运行的版本与我们的系统兼容,如我们的 setup.py file

  • 您已经将git存储库克隆到一个名为 scikit-image 。您已经设置了 upstream 远程指向我们的存储库和 origin 指着你的叉子。

该目录包含以下文件:

scikit-image
├── asv.conf.json
├── azure-pipelines.yml
├── benchmarks
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.txt
├── CONTRIBUTORS.txt
├── doc
├── INSTALL.rst
├── LICENSE.txt
├── Makefile
├── MANIFEST.in
├── README.md
├── RELEASE.txt
├── requirements
├── requirements.txt
├── setup.cfg
├── setup.py
├── skimage
├── TODO.txt
├── tools
└── viewer_examples

假定下面的所有命令都是从 scikit-image 包含上述文件的目录。

生成环境设置

一旦克隆了SCRICKIT-IMAGE存储库的分支,就应该设置一个为SCRICIT-IMAGE量身定制的Python开发环境。您可以选择您选择的环境管理员。下面我们为两位受欢迎的环境管理器提供指导: venv (基于PIP)和 conda ( Python 或迷你)。

林荫大道

在使用时 venv ,您可能会发现以下bash命令很有用:

# Create a virtualenv named ``skimage-dev``
python -m venv skimage-dev
# Activate it. On Linux and MacOS:
source skimage-dev/bin/activate
# Install all development and runtime dependencies of scikit-image
pip install -r <(cat requirements/*.txt)
# Build and install scikit-image from source
pip install -e . -vv
# Test your installation
pytest skimage

在Windows上,请使用 skimage-dev\Scripts\activate 在激活步骤上。

孔达

在使用Conda进行开发时,我们建议添加Conda-Forge通道,以获得许多依赖项的最新版本。我们使用的一些依赖项(用于测试和文档编制)在默认的Anaconda通道中不可用。请跟官员走 conda-forge installation instructions 在你开始之前。

# Create a conda environment named ``skimage-dev``
conda create --name skimage-dev
# Activate it
conda activate skimage-dev
# Install major development and runtime dependencies of scikit-image
conda install `for i in requirements/{default,build,test}.txt; do echo -n " --file $i "; done`
# Install scikit-image from source
pip install -e . -vv
# Test your installation
pytest skimage

正在更新安装

在更新安装时,通常需要重新编译已更改的子模块。请使用以下命令执行此操作:

# Grab the latest source
git checkout master
git pull upstream master
# Update the installation
pip install -e . -vv

测试

scikit-image 拥有广泛的测试套件,可确保在您的系统上正确执行。在合并Pull请求之前,测试套件必须通过,并且应该添加测试以涵盖对代码库的任何修改。

我们使用 pytest 测试框架,测试位于不同的 skimage/submodule/tests 文件夹。

我们的测试要求如下:

pytest>=5.2.0
pytest-cov>=2.7.0
pytest-localserver
pytest-faulthandler
flake8
codecov
pooch>=1.3.0

使用以下命令运行所有测试:

pytest skimage

或针对特定子模块的测试:

pytest skimage/morphology

或来自特定文件的测试:

pytest skimage/morphology/tests/test_grey.py

或该文件中的单个测试:

pytest skimage/morphology/tests/test_grey.py::test_3d_fallback_black_tophat

使用 --doctest-modules 来运行文档测试。例如,使用以下命令运行所有测试和所有文档测试:

pytest --doctest-modules skimage

测试阶段的警告

Scikit-Image试图在其开发版本中捕获所有警告,以确保不会遗漏来自依赖项的关键警告。这可能会导致某些测试失败,如果您正在构建带有在发布时未测试的依赖项版本的SCRICKIT-IMAGE。要禁用警告失败,请导出环境变量 SKIMAGE_TEST_STRICT_WARNINGS 值为 0False 并运行测试:

export SKIMAGE_TEST_STRICT_WARNINGS=False
pytest --pyargs skimage

特定于平台的说明

Windows

如果您遇到错误 Error:unable to find vcvarsall.bat 这意味着您的计算机没有推荐的适用于Python的编译器。您可以从下载并安装Windows编译器 here 或使用 MinGW compilers 。如果使用 MinGW ,请确保正确配置 distutils 通过修改(或创建,如果不存在)配置文件 distutils.cfg (例如,位于 C:\Python26\Lib\distutils\distutils.cfg )包含::

[build]
 compiler=mingw32

我们的文档中包含了针对Windows的编译过程 setup of Azure Pipelines (持续整合服务)。

Debian和Ubuntu

安装合适的编译器:

sudo apt-get install build-essential

完整的需求列表

构建要求

Cython>=0.29.21,!=0.29.18
wheel
# numpy 1.18.0 breaks builds on MacOSX
# https://github.com/numpy/numpy/pull/15194
numpy>=1.16.5,!=1.18.0

运行时要求

numpy>=1.16.5
scipy>=1.0.1
matplotlib>=2.0.0,!=3.0.0
networkx>=2.0
pillow>=4.3.0,!=7.1.0,!=7.1.1
imageio>=2.3.0
tifffile>=2019.7.26
PyWavelets>=1.1.1

测试要求

pytest>=5.2.0
pytest-cov>=2.7.0
pytest-localserver
pytest-faulthandler
flake8
codecov
pooch>=1.3.0

文件要求

sphinx>=1.8,<=2.4.4
sphinx-gallery>=0.7.0,!=0.8.0
numpydoc>=1.0
sphinx-copybutton
pytest-runner
scikit-learn
matplotlib>=3.0.1
dask[array]>=0.15.0,!=2.17.0
# cloudpickle is necessary to provide the 'processes' scheduler for dask
cloudpickle>=0.2.1
pandas>=0.23.0
seaborn>=0.7.1
pooch>=1.3.0
tifffile>=2020.5.30
myst-parser
ipywidgets
plotly>=4.14.0
kaleido

可选要求

您可以使用 scikit-image 具有上面列出的基本要求,但某些功能仅在安装了以下产品时才可用:

  • SimpleITK

    可选的I/O插件可提供多种 formats 。包括在医学成像中使用的专门格式。

  • Astropy

    提供FITS I/O功能。

  • PyQt5 or PySide2 through qtpy

    A Qt 插件将提供 imshow(x, fancy=True)skivi

  • PyAMG

    这个 pyamg 模块用于FAST cg_mg 随机游走者分割模式。

  • Dask

    这个 dask 模块是用来加速某些函数的。

SimpleITK
astropy>=3.1.2
qtpy
pyamg
dask[array]>=1.0.0,!=2.17.0
# cloudpickle is necessary to provide the 'processes' scheduler for dask
cloudpickle>=0.2.1
# Keep pooch version in synch with the one hard coded in
# skimage/data/__init__.py
pooch>=1.3.0

额外规定

为了方便起见,我们已经包含了这些要求,但并不能在我们支持的平台上通过PyPI广泛安装。因此,我们将它们保存在单独的列表中,以供社区中更高级的成员安装。

imread>=0.5.1,!=0.7.2

帮助安装贡献者

看见 Additional help 上面。