【问题标题】:install dtaidistance -> Exception: The compiled dtaidistance C library is not available安装 dtaidistance -> 异常:编译的 dtaidistance C 库不可用
【发布时间】:2021-10-29 02:53:35
【问题描述】:

我尝试运行 dtaidistance,但是根据example 运行以下代码时:

from dtaidistance import dtw
import numpy as np
timeseries = np.array([
     [0., 0, 1, 2, 1, 0, 1, 0, 0],
     [0., 1, 2, 0, 0, 0, 0, 0, 0],
     [1., 2, 0, 0, 0, 0, 0, 1, 1],
     [0., 0, 1, 2, 1, 0, 1, 0, 0],
     [0., 1, 2, 0, 0, 0, 0, 0, 0],
     [1., 2, 0, 0, 0, 0, 0, 1, 1]])
ds = dtw.distance_matrix_fast(timeseries, block=((1, 4), (3, 5)))

我收到以下错误:

The compiled dtaidistance C library is not available.
See the documentation for alternative installation options.

我尝试了不同的 IDE(Jupyter Notebook、PyCharm、Visual Studio Code)、不同的笔记本电脑、旧版本的 dtaidistance,..

甚至可以在 Windows 上安装库吗? -.-

我尝试根据:https://dtaidistance.readthedocs.io/en/latest/usage/installation.html进行故障排除

我尝试了一切:

然而,没有一个成功。 我需要这个库..

运行 dtw.try_import_c() 时,我得到以下输出:

Cannot import OMP-based library (dtw_cc_omp)
Cannot import Numpy-based library (dtw_cc_numpy)

Not all libraries are available in your installation. Share the following information when submitting a bug report:
- Cannot import OMP-based library (dtw_cc_omp)
- cannot import name 'dtw_cc_omp' from 'dtaidistance' (C:\Users\admin\anaconda3\lib\site-packages\dtaidistance\__init__.py)
- Cannot import Numpy-based library (dtw_cc_numpy)
- cannot import name 'dtw_cc_numpy' from 'dtaidistance' (C:\Users\admin\anaconda3\lib\site-packages\dtaidistance\__init__.py)
- System information:
  namespace(cache_tag='cpython-38', hexversion=50857456, name='cpython', version=sys.version_info(major=3, minor=8, micro=5, releaselevel='final', serial=0))
Additionally, you can rerun the compilation from source or pip install in verbose mode:
pip install -vvv --upgrade --force-reinstall --no-deps --no-binary :all: dtaidistance

有什么想法吗?非常感谢!

【问题讨论】:

    标签: python numpy dtw


    【解决方案1】:

    我遇到了类似的问题,这就是我解决它们的方法。

    1. 确保没有与 dtaidistance 相关的文件夹位于之前安装尝试的 /site_packages 中。
    2. 关注https://dtaidistance.readthedocs.io/en/latest/usage/installation.html 并从源代码编译包。如果 OpenMP 不可用,请安装 gcc 并使用 --forcegnugcc 参数。
    3. 构建包后,将文件夹/dtaidistance手动复制到/site_packages 文件夹中。这一步很重要:奇怪的是,使用 python setup.py install 对我不起作用。

    这些步骤已使用 2.3.2 版本进行了测试。

    【讨论】:

      【解决方案2】:

      现在可以通过 Conda 为 Windows/Macos/Linux 提供已编译的二进制文件:https://anaconda.org/conda-forge/dtaidistance

      希望这可以更轻松地访问 Windows 上的快速 DTW 实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        • 1970-01-01
        • 2013-09-10
        • 2016-06-08
        • 2015-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多