安装#

sktime 目前支持:

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

  • 操作系统 Mac OS X、类Unix操作系统、Windows 8.1 及以上版本

请参阅此处获取 PyPI 上可用的预编译轮的完整列表

对于安装过程中常见的问题,请参阅 `发布版本 - 故障排除`_ 部分。

有三种不同的安装类型:

  • 安装 sktime 版本

  • 安装最新的 sktime 开发版本

  • 对于 sktime 和第三方扩展的开发者:开发者设置

下面解释了这三种设置中的每一种。

发布版本#

从 PyPI 安装 sktime#

sktime 的发布版本可以通过 PyPI 获取。要通过 pip 安装 sktime 及其核心依赖项,排除软依赖项,请输入:

pip install sktime

要安装包含所有软依赖项的 sktime ,请使用 all_extras 修饰符进行安装:

pip install sktime[all_extras]

sktime 还提供了针对学习任务的特定依赖集,即估计器科学类型。这些是针对各自学习任务精心挑选的最常见软依赖项。可用的依赖集名称与各自模块的名称相同:forecastingtransformationsclassificationregressionclusteringparam_estnetworksannotationalignment

警告

all_extras 和精选的软依赖集包含的一些软依赖在基于 ARM 的 Mac 处理器(如 M1、M2、M1Pro、M1Max 或 M1Ultra)上无法工作。这可能会导致安装过程中出现错误。更多详情可以在下面的 故障排除部分 中找到。

警告

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

从 conda 安装 sktime#

sktime 发布版本可以通过 condaconda-forge 获取。要通过 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 上可用的软依赖项。其他软依赖项可以通过 pip 安装,在 conda install pip 之后。

开发版本#

要安装 sktime 的最新开发版本或更早版本,步骤如下:

步骤 1 - 使用 git 克隆 sktime 仓库,可以是最新版本或之前的版本。
步骤 2 - 确保构建需求已满足
步骤 3 - 使用 editable 参数从 git 克隆中通过 pip 安装包。

以下给出了所有步骤的详细说明。为了简洁起见,我们先讨论步骤1和步骤3;步骤2将在最后讨论,因为它将取决于操作系统。

步骤 1 - 克隆 git 仓库#

sktime 仓库应通过图形用户界面或命令行克隆到本地目录。

使用 git 命令行,安装最新版本的命令序列如下:

git clone https://github.com/sktime/sktime.git
cd sktime
git checkout main
git pull

要构建先前版本,请将第3行替换为:

git checkout <VERSION>

这将检出版本 <VERSION> 的代码,其中 <VERSION> 是一个有效的版本字符串。有效的版本字符串是仓库的 git 标签,可以通过运行 git tag 来查看。

你也可以从GitHub 下载 版本的zip存档。

步骤 3 - 从源代码构建 sktime#

要从源代码构建并安装 sktime ,请导航到本地克隆的根目录并输入:

pip install .

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

对于每次本地源代码更改时更新包的开发者安装,可以通过以下方式以可编辑模式安装 sktime

pip install --editable '.[dev]'

这允许就地编辑和扩展代码。另请参阅 pip 关于可编辑安装的参考

备注

您需要重新运行:

pip install --editable .

每次编译扩展的源代码发生更改时(例如在切换分支或从上游拉取更改时)。

步骤 2 - 构建二进制包和安装程序#

可以使用以下命令构建 .whl 包和 .exe 安装程序:

pip install build
python -m build --wheel

生成的包位于 dist/ 文件夹中。

贡献者或第三方扩展开发者设置#

  1. 遵循 Git 工作流程:按照 [Git 和 GitHub 工作流程](https://www.sktime.net/en/stable/developer_guide/git_workflow.html) 中的描述,分叉并克隆仓库。

2. Set up a new virtual environment. Our instructions will go through the commands to set up a conda environment which is recommended for sktime development. This relies on an anaconda installation. The process will be similar for venv or other virtual environment managers.

anaconda prompt 终端中:

  1. 导航到您的本地 sktime 文件夹,cd sktime 或类似操作

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

    警告

    如果你已经有一个名为“sktime-dev”的环境,这是之前尝试的结果,你首先需要移除这个环境。

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

6. Build an editable version of sktime. In order to install only the dev dependencies, pip install -e .[dev] If you also want to install soft dependencies, install them individually, after the above, or instead use: pip install -e .[all_extras,dev] to install all of them.

备注

如果此步骤导致出现“未找到匹配项”错误,可能是因为您的 shell 处理特殊字符的方式。

  • 可能的解决方案:使用引号:

    pip install -e ."[dev]"
    
  1. 如果一切顺利,你应该会看到消息“成功安装了sktime”

一些用户在安装NumPy时遇到了问题,特别是版本1.19.4。

备注

在Windows下的另一个选项是按照 `类Unix操作系统`_ 的说明,使用Windows Subsystem for Linux (WSL)。要安装WSL,请按照 这里 的说明进行操作。

故障排除#

找不到模块#

导致 模块未找到 错误的最常见原因是使用最小依赖项安装了 sktime,并使用了与环境中未安装的包接口的估计器。要解决此问题,请安装缺失的包,或使用最大依赖项安装 ``sktime``(见上文)。

ImportError#

导入错误通常由虚拟环境链接不当引起。请确保您的环境已激活并链接到您正在使用的任何IDE。如果您使用的是Jupyter 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轮子时会遇到问题。为了避免在安装软件包时出现此问题,您可以尝试通过conda安装它,或者使用以前以轮子形式分发的软件包版本。

其他启动资源#

虚拟环境#

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

  • conda (许多 sktime 社区成员使用此工具)

  • venv (也非常好!)

确保将你的新虚拟环境链接到你所使用的任何IDE中的Python内核。你可以在VScode中找到相关操作的说明,链接在 这里

参考文献#

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