Как импортировать библиотечную функцию «import can» в Python - PullRequest
0 голосов
/ 11 февраля 2019

Я использую Ubuntu.Я хочу спамить шину и просматривать пакеты, используя Wireshark.Я попытался запустить код Python, показанный ниже, но он выдал следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'can'

Мой код:

import time, can
bustype = 'socketcan'
channel = 'vcan0'
def producer(id):
    # :param id: Spam the bus with messages including the data id.
    bus = can.interface.Bus(channel=channel, bustype=bustype)
    for i in range(10):
        msg = can.Message(arbitration_id=0xc0ffee, data=[id, i, 0, 1, 3, 1, 4, 1], extended_id=False)
        bus.send(msg)
    # Issue #3: Need to keep running to ensure the writing threads stay alive. 
    time.sleep(1)
producer(10)

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

Вам необходимо установить внешний сторонний пакет python-can Вы можете сделать это с помощью pip.Следуйте инструкциям в приведенной ссылке

0 голосов
/ 11 февраля 2019

Ubuntu 18.04 и более поздние версии

В Ubuntu 18.04 и более поздних версиях python-can и python3-can предоставляются по умолчанию в репозиториях Ubuntu.Откройте терминал и введите:

sudo apt update  
sudo apt install python3-can # for Python 3.x  

или

sudo apt update  
sudo apt install python python-can # for Python 2.x 

Для установки CANard (библиотеки для взаимодействия с локальной сетью контроллеров (CAN)) необходимо использовать pip.

pip3 install CANard # for Python 3.x

или

pip install CANard # for Python 2.x
0 голосов
/ 11 февраля 2019

Всякий раз, когда вы получаете no module named '<module_name>' error в Python, это означает, что python не может найти модуль.Вероятно, потому что модуль отсутствует.

Вы можете установить модули Python, используя pip.Если у вас нет инструмента pip, вы можете установить его, используя sudo apt install python-pip в операционных системах на основе Debian.

В вашем случае вам понадобится модуль python-can , который можно установить с помощьюиспользуя

pip install python-can

...