如何在Python中修复"No module named 'quaternion'"错误?

3

我正在尝试将模块quaternion导入我的代码中,以便能够旋转我的传感器数据。然而我一直收到错误提示:'No module named 'quaternion''。

为了在计算机上安装quaternion模块,我使用了命令提示符并输入了以下命令:

> conda activate base
> pip install quaternion

当我运行时

import quaternion

这是输出结果:

(base) C:\Users\erapp\Code>C:/Users/erapp/Anaconda3/python.exe c:/Users/erapp/Code/mbl_mc10/code/sensor_prep_utils.py
Traceback (most recent call last):
  File "c:/Users/erapp/Code/mbl_mc10/code/sensor_prep_utils.py", line 1, in <module>
    import quaternion
ModuleNotFoundError: No module named 'quaternion'

任何帮助都将不胜感激。

如果您安装了两个版本的Python,则可以为其中一个版本使用pip安装库,而您可能正在使用其他版本的Python在Visual Studio中运行。或者另一件事情可能是conda activate base必须启动自己的虚拟环境,其中安装了quaternion模块。我建议在终端上进行系统范围的使用,如果您在Linux上,则可以使用pip安装模块,或者在其他平台上执行类似的操作。 - Roushan Singh
2个回答

7

不幸的是,由于维护者无法控制的原因,此软件包在pypi(pip获取软件包的地方)上的名称与在conda-forge上或导入时的名称不同:它被称为numpy-quaternion。最简单的方法确实是使用conda,如FabienP所建议的那样。但如果你坚持使用pip,你只需要按照说明操作即可:

python -m pip install numpy-quaternion

3
您可以通过安装quaternion的conda包来解决这个问题(从conda-forge获取),使用conda install -c conda-forge quaternion命令进行安装。
对于您的情况,看起来您没有使用conda环境中的pip,这将导致在该环境之外安装该软件包。 (使用which pip测试)
如果您感兴趣,以下是一些关于在conda中使用pip指南以及两者之间互操作性的未来发展

这就是我所做的,运行 conda list 后,输出为quaternion 2019.7.23.15.26.49 py36hc8d92b1_0 conda-forge, 但是当运行 python 并询问 import quaternion 时,我得到了以下信息: File "", line 1, in ModuleNotFoundError: No module named 'quaternion'``` - Raketenolli
1
那么,你应该尝试重新安装,或者你没有调用正确的Python解释器。 - FabienP
1
停用和重新启用conda环境解决了这个问题。 - Raketenolli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接