安装#

sktime 当前支持

  • Python 版本 3.8, 3.9, 3.10, 3.11 和 3.12。

  • 操作系统 Mac OS X, 类 Unix OS, Windows 8.1 及更高版本

有关 PyPI 上可用的预编译 wheels 的完整列表,请参阅此处

对于常见的安装问题,请查阅 故障排除 部分。

根据您的使用场景,有三种不同的安装类型

  • 安装稳定的 sktime 发布版本 - 适用于大多数用户和生产环境

  • 安装最新的不稳定 sktime 开发版本 - 用于预发布测试

  • 适用于 sktime 开发者和第三方扩展开发者:扩展和贡献者的开发设置

这三种设置将在下面解释。

安装发布版本#

适用于

  • 大多数用户

  • 用于生产环境

从 PyPI 安装 sktime#

sktime 发布版本可通过 PyPI 获取。要通过 pip 安装包含核心依赖项(不含软依赖项)的 sktime,请输入

pip install sktime

要安装包含最多依赖项(包括软依赖项)的 sktime,请使用 all_extras 修饰符安装

pip install sktime[all_extras]

sktime 还提供特定于学习任务(即估计器 scitype)的依赖项集。这些是针对相应学习任务策划的最常见的软依赖项选择。可用的依赖项集名称与相应的模块名称相同:forecastingtransformationsclassificationregressionclusteringparam_estnetworksdetectionalignment

警告

all_extras 和策划的软依赖项集中的某些软依赖项在基于 ARM 的 Mac 处理器(如 M1、M2、M1Pro、M1Max 或 M1Ultra)上无法工作。这可能导致安装期间出错。更多详细信息请参见下面的故障排除部分

警告

带有 all_extras 的软依赖项仅在需要所有估计器或运行所有测试时才需要。然而,这会减慢下载速度并增加测试时间。对于大多数用户或开发人员场景,下载 all_extras 不是必需的。如果您不确定,请安装带有核心依赖项的 sktime,并根据需要安装软依赖项。或者,安装特定于学习任务的依赖项集,如上所述。

从 conda 安装 sktime#

sktime 发布版本可通过 conda-forge 库中的 conda 获取。要通过 conda 安装包含核心依赖项(不含软依赖项)的 sktime,请输入

conda install -c conda-forge sktime

要安装包含最多依赖项(包括软依赖项)的 sktime,请使用 all-extras 配方安装

conda install -c conda-forge sktime-all-extras

注意:sktime 的并非所有软依赖项都在 conda-forge 上可用,sktime-all-extras 仅包含 conda-forge 上可用的软依赖项。其他软依赖项可以在 conda install pip 之后通过 pip 安装。

安装最新的不稳定开发版本#

适用于

  • 预发布测试,例如新功能的早期测试

  • 不适用于可靠的生产使用

  • 不适用于贡献者或扩展开发者

这种 sktime 安装类型获取仓库的最新静态快照。它适用于希望使用包含所有最新更新的库版本构建或测试代码的开发者。

注意

有关完整的可编辑开发者设置,请阅读下面的“贡献者和扩展开发者的完整开发设置”部分。

要直接从仓库安装最新版本的 sktime,您可以使用 pip 包管理器直接从 GitHub 仓库安装

pip install git+https://github.com/sktime/sktime.git

要从特定分支安装,请使用以下命令

pip install git+https://github.com/sktime/sktime.git@<branch_name>

或者,可以从仓库的本地克隆获取最新版本安装。

有关如何获取仓库本地克隆的步骤,请按照此处描述的步骤操作:创建分叉和克隆仓库

pip install .

或者,. 可以替换为根目录的完整或相对路径。

贡献者和扩展开发者的完整开发设置#

适用人群

  • sktime 项目的贡献者

  • 封闭代码库中扩展的开发者

  • 发布为开源的第三方扩展的开发者

要在本地开发 sktime 或为项目贡献代码,您需要设置

  • 一个 sktime 仓库的本地克隆。

  • 一个包含 sktime 及其开发者依赖项的可编辑安装的虚拟环境。

以下步骤指导您完成整个过程

  1. 遵循 Git 工作流程:创建分叉和克隆仓库

2. 设置一个新的虚拟环境。我们的说明将介绍设置 conda 环境的命令,这通常对初学者比较友好。使用 venv 或其他虚拟环境管理器时过程类似。

警告

通过像 Anaconda 这样的商业发行版使用 conda 通常不是免费用于商业目的,并可能产生显著的成本或责任。请考虑使用免费发行版和通道进行包管理,并了解适用的条款和条件。

conda 终端中

  1. 导航到您的本地 sktime 文件夹,例如 cd sktime

  2. 使用支持的 python 版本创建一个新环境:conda create -n sktime-dev python=3.11 (或 python=3.12 等)

    警告

    如果您之前尝试过并已有一个名为 sktime-dev 的环境,则需要先将其删除。

  3. 激活环境:conda activate sktime-dev

6. 构建 sktime 的可编辑版本。要仅安装开发依赖项,请使用 pip install -e ".[dev]" 如果您还想安装软依赖项,请在上述步骤之后单独安装,或者改用 pip install -e ".[all_extras,dev]" 来安装所有依赖项。

  1. 如果一切正常,您应该看到消息“successfully installed sktime”(成功安装 sktime)

有些用户在安装 NumPy 时遇到了问题,尤其是 1.19.4 版本。

注意

在 Windows 下的另一个选项是按照 `类 Unix OS`_ 的说明进行操作,使用适用于 Linux 的 Windows 子系统 (WSL)。有关安装 WSL 的说明,请按照此处的说明操作。

故障排除#

找不到模块#

找不到模块错误最常见的原因是使用最少依赖项安装了 sktime,但使用了接口到环境中未安装的包的估计器。要解决此问题,请安装缺少的包,或安装包含最多依赖项的 sktime(参见上文)。

ImportError#

导入错误通常是由虚拟环境链接不正确引起的。请确保您的环境已激活并链接到您使用的任何 IDE。如果您使用 Jupyter Notebooks,请按照这些说明将您的虚拟环境添加为 notebook 的新内核。

在配备 ARM 处理器 的 mac 上安装 all_extras#

如果您使用的是配备 ARM 处理器的 mac,在安装 sktime[all_extras] 时可能会遇到错误。这是因为 all_extras 中包含的一些库与基于 ARM 的处理器不兼容。

变通方法是不安装 all_extras 中的某些包,并为其他包安装 ARM 兼容的替代品

  • 不要安装以下包
    • esig

    • prophet

    • tsfresh

    • tslearn

  • tensorflow 包替换为以下包
    • tensorflow-macos

    • tensorflow-metal (可选)

此外,基于 ARM 的处理器在安装以源代码分发而不是 Python wheels 形式分发的包时也存在问题。为避免在安装包时出现此问题,您可以尝试通过 conda 安装或使用以 wheel 形式分发的早期版本包。

其他启动资源#

虚拟环境#

虚拟环境管理器的两个不错的选择是

  • conda (对初学者友好,但如果使用商业发行版进行商业用途,可能会产生许可费用)。

  • venv (也相当不错!)。

请务必将您新的虚拟环境作为您使用的任何 IDE 中的 python 内核进行链接。您可以在此处找到在 VSCode 中进行此操作的说明。

参考#

安装说明改编自 scikit-learn 的高级安装说明