1. 安装 scikit-image#
您应该如何安装 scikit-image
取决于您的需求和技能
首先,确保您已安装 Python。两种流行的替代方案是基于 pip 的 Python.org 安装程序 和基于 conda 的 miniforge。
或者,从源代码构建软件包。如果您想参与开发,请执行此操作。
1.1. 支持的平台#
基于 x86 处理器的 Windows 64 位
基于 x86 和 M(ARM)处理器的 macOS
基于 x86 处理器的 Linux 64 位
虽然我们不正式支持其他平台,但您仍然可以尝试 从源代码构建。
1.2. 版本检查#
要查看 scikit-image
是否已安装或检查安装是否成功,请在 Python shell 或 Jupyter notebook 中运行以下命令
import skimage as ski
print(ski.__version__)
或者,从命令行运行
python -c "import skimage; print(skimage.__version__)"
(如果 python
不成功,请尝试 python3
。)
如果 scikit-image
已安装,您将看到版本号,否则将看到错误消息。
1.3. 通过 pip 和 conda 安装#
这些仅安装 scikit-image
及其依赖项;pip 具有一个选项可以包含相关软件包。
1.3.1. pip#
pip 安装的先决条件:您可以使用系统的命令行安装软件包,并且正在使用 虚拟环境(几种 中的任何一种)。
虽然可以在没有虚拟环境的情况下使用 pip,但不建议这样做:虚拟环境创建了一个干净的 Python 环境,不会干扰任何现有的系统安装,可以轻松删除,并且仅包含应用程序所需的软件包版本。它们有助于避免一个称为 依赖地狱 的常见挑战。
要安装当前的 scikit-image
,您至少需要 Python 3.10。如果您的 Python 版本较旧,pip 将找到最新的兼容版本。
# Update pip
python -m pip install -U pip
# Install scikit-image
python -m pip install -U scikit-image
要访问完整的演示数据集选择,请使用 scikit-image[data]
。要包含一些其他科学 Python 软件包,这些软件包可以扩展 scikit-image
的功能以包括例如并行处理,您可以安装软件包 scikit-image[optional]
python -m pip install -U scikit-image[optional]
警告
请不要将命令 sudo
和 pip
放在一起使用,因为 pip
可能会覆盖关键的系统库,这可能需要您重新安装操作系统。
1.3.2. conda#
Miniconda 是 Anaconda 软件包的基本版本;您需要自己安装诸如 scikit-image
之类的软件包。与 Anaconda 一样,它安装 Python 并提供虚拟环境。
conda-forge,一个使用最新
scikit-image
软件包维护的 conda 频道
设置 conda 环境后,可以使用以下命令安装 scikit-image
conda install scikit-image
1.4. 系统软件包管理器#
使用软件包管理器(yum
、apt-get
等)安装 scikit-image
或其他 Python 软件包并不是您的最佳选择
您可能会获得旧版本。
您可能希望在软件包管理器之外进行更新和添加新软件包,从而导致与在没有虚拟环境的情况下使用 pip 时看到的相同类型的依赖冲突。
存在额外的风险,因为操作系统使用 Python,因此,如果您对系统范围内的 Python 进行更改(以 root 身份安装或使用 sudo),则可能会破坏操作系统。
1.5. 下载所有演示数据集#
我们示例中使用的一些数据托管在网上,并且上面解释的过程默认情况下不会安装。数据下载一次,在第一次调用时,但这需要网络连接。如果您希望下载所有演示数据集以能够离线工作,请确保已安装软件包 pooch
,然后运行此命令
python -c 'import skimage as ski; ski.data.download_all()'
或在您喜欢的交互式 Python 环境(IPython、Jupyter notebook 等)中调用 ski.data.download_all()
。
1.6. 其他帮助#
如果您仍然有疑问,请通过以下方式联系我们
要建议更改这些说明,请 在 GitHub 上提交问题。
2. 为贡献者安装 scikit-image#
我们假设您已经在计算机上配置了默认的 Python 环境,并且打算在其中安装 scikit-image
。
我们还对您的系统做了一些其他假设
您已设置了 C 编译器。
您已设置了 C++ 编译器。
您正在运行与我们的系统兼容的 Python 版本,如我们的 pyproject.toml 中所列。
您已将 git 存储库克隆到名为
scikit-image
的目录中。您已将 upstream 远程指向我们的存储库,并将 origin 指向您的 fork。
此目录包含以下文件
scikit-image
├── asv.conf.json
├── azure-pipelines.yml
├── benchmarks/
├── CITATION.bib
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.rst
├── CONTRIBUTORS.txt
├── doc/
├── INSTALL.rst
├── LICENSE.txt
├── MANIFEST.in
├── meson.build
├── meson.md
├── pyproject.toml
├── README.md
├── RELEASE.txt
├── requirements/
├── requirements.txt
├── skimage/
├── TODO.txt
└── tools/
假设以下所有命令都从包含上述文件的 scikit-image
目录中运行。
2.1. 构建环境设置#
克隆 scikit-image 存储库的分支后,您应该为 scikit-image 设置一个定制的 Python 开发环境。您可以选择您喜欢的环境管理器。这里我们提供了两种流行的环境管理器的说明:venv
(基于 pip)和 conda
(Anaconda 或 Miniconda)。
2.1.1. venv#
# Create a virtualenv named ``skimage-dev`` that lives outside of the repository.
# One common convention is to place it inside an ``envs`` directory under your home directory:
mkdir ~/envs
python -m venv ~/envs/skimage-dev
# Activate it
# (On Windows, please use ``skimage-dev\Scripts\activate``)
source ~/envs/skimage-dev/bin/activate
# Install main development and runtime dependencies
pip install -r requirements.txt
# Install build dependencies of scikit-image
pip install -r requirements/build.txt
# Build scikit-image from source
spin build
# The new version lives under `${PWD}/build-install/.../site-packages`.
# Test your installation
spin test
# Build docs
spin docs
# Try the new version in IPython
spin ipython
2.1.2. conda#
在开发中使用 conda 时,我们建议添加 conda-forge 频道以获取许多依赖项的最新版本。我们使用的一些依赖项(用于测试和文档)在默认的 Anaconda 频道中不可用。在开始之前,请按照官方的 conda-forge 安装说明 操作。
# Create a conda environment named ``skimage-dev``
conda create --name skimage-dev
# Activate it
conda activate skimage-dev
# Install main development and runtime dependencies
conda install -c conda-forge --file requirements/default.txt
conda install -c conda-forge --file requirements/test.txt
conda install -c conda-forge pre-commit
# Install build dependencies of scikit-image
pip install -r requirements/build.txt
# Build scikit-image from source
spin build
# The new version lives under `${PWD}/build-install/.../site-packages`.
# Test your installation
spin test
# Build docs
spin docs
# Try the new version in IPython
spin ipython
有关构建和使用 spin
软件包的更多信息,请参阅 meson.md
。
2.2. 测试#
使用以下命令测试您的安装是否正常工作
pytest skimage
2.3. 更新安装#
在更新安装之前,您通常需要获取最新的源代码
git checkout main
git pull upstream main
并且您可能希望从此处创建一个功能分支。在您处理此分支时,您可以使用以下命令重新构建 scikit-image
spin build
重复的增量构建通常可以正常工作,但是如果您注意到构建问题,请使用以下命令从头开始重建
spin build --clean
2.4. 特定于平台的说明#
Windows
Windows 编译过程的完整步骤包含在我们的 Azure Pipelines 设置(持续集成服务)中。
Debian 和 Ubuntu
安装合适的编译器
sudo apt-get install build-essential
2.5. 完整需求列表#
构建需求
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
meson-python>=0.15
wheel
setuptools>=67
packaging>=21
ninja
Cython>=3.0.4
pythran
numpy>=2.0.0rc1
spin==0.8
build
运行时需求
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
numpy>=1.23
scipy>=1.9
networkx>=2.8
pillow>=9.1
imageio>=2.33
tifffile>=2022.8.12
packaging>=21
lazy-loader>=0.4
测试需求
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
asv
numpydoc>=1.7
pooch>=1.6.0
pytest>=7.0
pytest-cov>=2.11.0
pytest-localserver
pytest-faulthandler
pytest-doctestplus
文档需求
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
sphinx>=7.3
sphinx-gallery>=0.14
numpydoc>=1.7
sphinx-copybutton
pytest-runner
matplotlib>=3.6
dask[array]>=2022.9.2
pandas>=1.5
seaborn>=0.11
pooch>=1.6
tifffile>=2022.8.12
myst-parser
ipywidgets
ipykernel
plotly>=5.10
kaleido
scikit-learn>=1.1
sphinx_design>=0.5
pydata-sphinx-theme>=0.15.2
PyWavelets>=1.1.1
pytest-doctestplus
开发者需求
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
pre-commit
ipython
tomli; python_version < '3.11'
数据需求
只有安装以下内容才能使用完整演示数据集选择
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
pooch>=1.6.0
可选需求
您可以使用上述列出的基本需求来使用 scikit-image
,但某些功能只有在安装以下内容后才能使用
- Astropy
提供 FITS I/O 功能。
- PyAMG
pyamg
模块用于随机游走分割的快速cg_mg
模式。
- Dask
dask
模块用于加速某些函数。
- Matplotlib
用于各种函数,例如绘图、分割、读取图像。
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
SimpleITK
astropy>=5.0
cloudpickle>=0.2.1
dask[array]>=2021.1.0
matplotlib>=3.6
pooch>=1.6.0
pyamg
PyWavelets>=1.1.1
scikit-learn>=1.1
2.6. 贡献者安装帮助#
请参阅上面的 其他帮助。