You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何导入小写emd成功但大写EMD失败?如何正确导入PyEMD中的EMD?

如何正确从PyEMD包导入EMD函数?

我尝试从PyEMD包导入EMD函数时遇到问题:用全小写的pyemd模块名导入emd函数可以成功,但用预期的大小写形式PyEMD导入EMD函数却失败。

成功导入的代码及输出

!pip install pyemd
from pyemd import emd

# 输出:
Requirement already satisfied: pyemd in /anaconda/envs/azureml_py38/lib/python3.8/site-packages (0.5.1)
Requirement already satisfied: numpy<2.0.0,>=1.9.0 in /anaconda/envs/azureml_py38/lib/python3.8/site-packages (from pyemd) (1.23.3)

失败的代码及报错

!pip install PyEMD
from PyEMD import EMD

# 输出:
Requirement already satisfied: PyEMD in /anaconda/envs/azureml_py38/lib/python3.8/site-packages (0.5.1)
Requirement already satisfied: numpy<2.0.0,>=1.9.0 in /anaconda/envs/azureml_py38/lib/python3.8/site-packages (from PyEMD) (1.23.3)
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Input In [9], in <cell line: 2>()
      1 get_ipython().system('pip install PyEMD')
----> 2 from PyEMD import EMD

ModuleNotFoundError: No module named 'PyEMD'

需要说明的是,emd和EMD是接收不同输入参数的两个不同函数,我仅需要使用EMD。


解决方案

这是因为PyPI的包名大小写不敏感,pip install PyEMD和pip install pyemd安装的是同一个包,但Python的模块名是区分大小写的,该包实际的模块名是全小写的pyemd,而EMD类就包含在这个小写模块中。

正确的导入方式是:

from pyemd import EMD

这样就能成功导入你需要的EMD函数了。

内容的提问来源于stack exchange,提问作者EnigmAI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:55:28