python - 无法让 python-can-viewer 运行

标签 python windows-10 python-3.7 can-bus python-can

我想使用 python 读取 can-bus,然后通过 python 在总线上发送消息(我是一个完全的 python 新手,但有 C 和 C++ 知识)。所以我开始通过 pip 安装 python-can 模块。我想尝试的第一件事是仅使用 python-can-viewer 从总线读取消息。我从峰值检查了与固件的连接,一切正常,我可以从我的 CAN 设备看到心跳。但 can-viewer 模块无法启动。

screenshot

抱歉,错误消息是德语,意思是:

[WinError 126] The specified module could not be found

我还尝试使用 python-can 的一个简单示例

import can

can.rc['interface'] = 'pcan'
can.rc['channel'] = 'PCAN_USBBUS1'
can.rc['bitrate'] = 500000


def send_one():

    with can.interface.Bus() as bus:

        bus = can.interface.Bus()

        msg = can.Message(
            arbitration_id=0xC0FFEE, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=True
        )

        try:
            bus.send(msg)
            print("Message sent on {bus.channel_info}")
        except can.CanError:
            print("Message NOT send")


if __name__ == "__main__":
    send_one()

我从 https://python-can.readthedocs.io/en/master/ 获取了示例

我也遇到了同样的错误,我还发现 winerror 126 可能与缺少 ddls 或库有关,因此我安装了来自 microsoft 的 x64 vc_redist,但它没有帮助 https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

编辑:忘了提及这个网站https://python-can.readthedocs.io/en/3.3.2/installation.html

最佳答案

我发现问题了,我没有在windows/system32文件夹中安装正确的dll,我从https://www.peak-system.com/Downloads.76.0.html?&L=1下载了正确的PCAN API基本驱动软件

对于有同样问题的人,请下载适用于Windows的basi API驱动程序并在system32文件夹中获取PCANbasic.DLL(需要管理员权限)

关于python - 无法让 python-can-viewer 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60090919/

相关文章:

git push 在 bash 中使用 ssh-agent 而不是 gui

c# - 我如何处理自定义应用程序设置? Windows 10 UWP C#

python - 在 Google App Engine 上运行 Python37 时出现问题

matplotlib - Geopandas 一致的用户定义的子图配色方案

python - AWS Lambda : Unable to import module 'lambda_function' : No module named boto. ec2.autoscale

python - pyplot 图例不匹配行

python - 有没有使用元素树从 xml 文件创建多个数据框的方法?

python - 谷歌在 Pythonanywhere 上登录

windows - 在已安装程序列表中显示发布者名称

python - 安装 psycopg2 失败 python 3.7