bcc: ImportError не может импортировать имя BPF

#bpf #ebpf #bcc-bpf

#bpf #ebpf #bcc-bpf

Вопрос:

При попытке запустить пример я получаю следующую ошибку hello_world.py .

 Traceback (most recent call last):
  File "/usr/share/bcc/examples/hello_world.py", line 9, in <module>
    from bcc import BPF
ImportError: cannot import name BPF
  

Я установил bcc из источника (ссылка).
Я также установил оба пакета привязок python bcc, python-bcc python3-bcc но безуспешно.

Я использую Ubuntu 18.04 и версию ядра 4.15.0-117-generic.

Чего мне здесь не хватает?

Комментарии:

1. Связанная проблема

2. Работает ли это, если вы устанавливаете пакеты bcc? ( sudo apt-get install bpfcc-tools linux-headers-$(uname -r) )

3. Вы пробовали запускать hello_world как с Python2, так и с Python3?

4. @pchaigno Это не работает даже после установки bcc пакетов. Пробовал как с python2, так и с python3, не сработало.

Ответ №1:

В ubuntu 20.04 я выполняю следующую команду, чтобы исправить это.

 sudo apt-get install bpfcc-tools linux-headers-$(uname -r)
  

Ответ №2:

У меня проблема. Я использовал pyenv для управления своими версиями python, поэтому python просматривал файлы в неправильных местах.

 $ python -c 'import site; print(site.getsitepackages())'
['/home/sagar/.pyenv/versions/3.6.6/lib/python3.6/site-packages']
  

Я попытался с python3 помощью команды, которая не была установлена, pyenv и я не получаю вышеуказанную ошибку.