1. 安装 scikit-image#
首先,您需要安装 Python 语言。两个流行的途径是基于 pip 的 Python.org 安装程序 和基于 conda 的 miniforge。
或者,从源代码构建软件包。如果您想为开发做出贡献,请执行此操作。
1.1. 支持的平台#
x86 处理器上的 Windows 64 位
x86 和 ARM (M1 等) 处理器上的 macOS
x86 和 ARM 处理器上的 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 安装#
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
需要一些额外的依赖项才能访问 skimage.data
中的所有示例数据集。使用以下命令安装它们
python -m pip install -U scikit-image[data]
要安装可选的科学 Python 软件包,以扩展 scikit-image
的功能,例如包括并行处理,请使用
python -m pip install -U scikit-image[optional]
警告
不要一起使用命令 sudo
和 pip
,因为 pip
可能会覆盖关键的系统库。
1.3.2. conda#
我们建议使用 miniforge,这是一个利用 conda-forge 的最小发行版。它安装 Python 并提供虚拟环境。
设置好 conda 环境后,使用以下命令安装 scikit-image
conda install scikit-image
1.4. 系统包管理器#
使用包管理器(apt
、dnf
等)来安装 scikit-image
或其他 Python 软件包并不是您的最佳选择,因为您很可能会获得较旧的版本。这也使得安装包管理器未提供的其他 Python 软件包变得更加困难。
1.5. 下载所有演示数据集#
我们的一些示例图像(在 skimage.data
中)托管在网上,并且默认情况下未安装。这些图像在首次访问时下载。如果您希望下载所有演示数据集,以便可以离线访问它们,请确保安装了 pooch
,然后运行
python -c 'import skimage as ski; ski.data.download_all()'
1.6. 其他帮助#
如果您仍有疑问,请通过以下方式联系我们
要建议更改这些说明,请在 GitHub 上打开一个 issue。
2. 为贡献者安装 scikit-image#
您的系统需要
C 编译器,
C++ 编译器,以及
scikit-image
支持的 Python 版本(请参阅 pyproject.toml)。
首先,在 GitHub 上 fork scikit-image 存储库。然后,在本地克隆您的 fork,并设置一个 upstream
远程以指向原始的 scikit-image 存储库
注意
我们在下面使用 [email protected]
;如果您没有设置 SSH 密钥,请改用 https://github.com
。
git clone [email protected]:YOURUSERNAME/scikit-image
cd scikit-image
git remote add upstream [email protected]:scikit-image/scikit-image
以下所有命令都在克隆的 scikit-image
目录中运行。
2.1. 构建环境设置#
设置一个为 scikit-image 量身定制的 Python 开发环境。在这里,我们提供了两种流行的环境管理器 venv
(pip) 和 conda
(miniforge) 的说明。
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, use ``skimage-dev\Scripts\activate``)
source ~/envs/skimage-dev/bin/activate
# Install development dependencies
pip install -r requirements.txt
pip install -r requirements/build.txt
# Install scikit-image in editable mode. In editable mode,
# scikit-image will be recompiled, as necessary, on import.
spin install -v
提示
上面的命令将 scikit-image 安装到您的环境中,使其可以被 IDE、IPython 等访问。这并非绝对必要;您也可以使用以下命令构建
spin build
在这种情况下,该库不会被安装,但可以通过 spin
命令访问,例如 spin test
、spin ipython
、spin run
等。
2.1.2. conda#
我们建议使用 miniforge 安装 conda,它是 Anaconda 的替代方案,没有许可费用。
安装 miniforge 后
# Create a conda environment named ``skimage-dev``
conda create --name skimage-dev
# Activate it
conda activate skimage-dev
# Install development 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 ipython
conda install -c conda-forge --file requirements/build.txt
# Install scikit-image in editable mode. In editable mode,
# scikit-image will be recompiled, as necessary, on import.
spin install -v
提示
上面的命令将 scikit-image 安装到您的环境中,使其可以被 IDE、IPython 等访问。这并非绝对必要;您也可以使用以下命令构建
spin build
在这种情况下,该库不会被安装,但可以通过 spin
命令访问,例如 spin test
、spin ipython
、spin run
等。
2.2. 测试#
运行完整的测试套件
spin test
或运行一部分测试
# Run tests in a given file
spin test skimage/morphology/tests/test_gray.py
# Run tests in a given directory
spin test skimage/morphology
# Run tests matching a given expression
spin test -- -k local_maxima
2.3. 添加功能分支#
在贡献新功能时,请通过功能分支执行此操作。
首先,获取最新的源代码
git switch main
git pull upstream main
创建您的功能分支
git switch --create my-feature-name
使用可编辑安装,scikit-image
会在必要时重建自身。如果您是手动构建,请使用以下命令重建
.. code-block:: sh
spin build
重复的增量构建通常可以正常工作,但如果您发现构建问题,请使用以下命令从头开始重建
spin build --clean
2.4. 平台特定说明#
Windows
在 Windows 上构建 scikit-image
是我们持续集成测试的一部分;步骤显示在此 Azure Pipeline 中。
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.16
setuptools>=68
ninja>=1.11.1.1
Cython>=3.0.8
pythran>=0.16
numpy>=2.0
spin==0.13
build>=1.2.1
运行时要求
# Generated via tools/generate_requirements.py and pre-commit hook.
# Do not edit this file; modify pyproject.toml instead.
numpy>=1.24
scipy>=1.11.2
networkx>=3.0
pillow>=10.1
imageio>=2.33,!=2.35.0
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>=8.0
sphinx-gallery[parallel]>=0.18
numpydoc>=1.7
sphinx-copybutton
matplotlib>=3.7
dask[array]>=2022.9.2
pandas>=2.0
seaborn>=0.11
pooch>=1.6
tifffile>=2022.8.12
myst-parser
intersphinx-registry>=0.2411.14
ipywidgets
ipykernel
plotly>=5.20
kaleido==0.2.1
scikit-learn>=1.2
sphinx_design>=0.5
pydata-sphinx-theme>=0.16
PyWavelets>=1.6
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
,但某些功能只有在安装了以下内容后才可用
Matplotlib 用于各种功能,例如,用于绘制、分割、读取图像。
Dask
dask
模块用于并行化某些功能。
在极少数情况下,您可能还需要
# 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,!=2024.8.0
matplotlib>=3.7
pooch>=1.6.0
pyamg>=5.2
PyWavelets>=1.6
scikit-learn>=1.2
2.6. 有关贡献者安装的帮助#
请参阅上面的其他帮助。