https://github.com/danielhrisca/asammdf
在学习asammdf时出现以下问题。
使用Pycharm运行asammdfgui.py时会报错。
错误信息如下:
===== 2022.08.24 17:08:47 =====
Traceback (most recent call last):
File "D:\Work\Python\asammdf-7.1.0\asammdf\gui\asammdfgui.py", line 13, in <module>
from asammdf.gui.utils import excepthook
File "D:\Work\Python\asammdf-7.1.0\asammdf\__init__.py", line 17, in <module>
from .mdf import MDF, SUPPORTED_VERSIONS
File "D:\Work\Python\asammdf-7.1.0\asammdf\mdf.py", line 42, in <module>
from .blocks.mdf_v2 import MDF2
File "D:\Work\Python\asammdf-7.1.0\asammdf\blocks\mdf_v2.py", line 9, in <module>
from .mdf_v3 import MDF3
File "D:\Work\Python\asammdf-7.1.0\asammdf\blocks\mdf_v3.py", line 49, in <module>
from .cutils import get_channel_raw_bytes
ModuleNotFoundError: No module named 'asammdf.blocks.cutils'
经过反复查找发现主要原因是由于调用了一个.c文件。所以才一直出现ModuleNotFoundError: No module named 'asammdf.blocks.cutils,找不到解决方案,再后来我用Visual Studio 2022 却发现是正常的。
#引起问题的代码,这种代码在很多地方都有
from .cutils import (
data_block_from_arrays,
extract,
get_channel_raw_bytes,
get_vlsd_offsets,
lengths,
sort_data_block,
)
#import
import asammdf.blocks.cutils
Pycharm是否可以通过设置或其它的解决这个问题吗,一直用它比较顺手,不想换工具。是否Visual Studio更兼容还是pytharm的设置问题。我在网上找了好久,好像如果调用.c就需要编译为.dll文件或其它的API接口。
问题已经解决,主要是从github下载回来的code不能正常运行,需要使用pip install amammdf后再使用函数调用。
我个人理解的原因是Pycharm默认从项目的文件夹来调用,所以报错。而VS从系统中调用所有是正常。