Mitmproxy и установка с рецептами yocto - PullRequest
1 голос
/ 03 августа 2020

Я хочу установить сторонний инструмент под названием Mitmproxy во встроенной среде Linux с небольшим объемом, например, Raspberry PI.

Вместо установки с использованием стандартного Raspbian ОС, я хочу настроить установку с помощью Yocto и определить пакеты. Это включает в себя написание рецептов для настройки устанавливаемых пакетов. Хороший пример на высоком уровне описан здесь .

К сожалению, это включает в себя добавление различных пакетов Python3, а также pip-mitmproxy, а также всех зависимостей pip-mitmproxy в локальном .conf, например,

IMAGE_INSTALL_append = " python3" 
IMAGE_INSTALL_append = " pip-mitmproxy" 

В этом случае необходимо добавить разные файлы рецептов.

Проблема, которую я обнаружил, заключается в получении правильных версий всех зависимостей. Я посмотрел import pkg_resources, но он, похоже, не дал мне всего. Есть ли другой рекомендуемый подход, возможно, просмотрев исходный код .

1 Ответ

1 голос
/ 03 августа 2020

Я создал Python venv в обычном режиме Linux Mint, поэтому pip freeze показывает мне пустой список

После установки mitmproxy я снова запускаю pip freeze, и он показывает мне

blinker==1.4
Brotli==1.0.7
certifi==2020.6.20
cffi==1.14.1
click==7.1.2
cryptography==2.9.2
Flask==1.1.2
h11==0.9.0
h2==3.2.0
hpack==3.0.0
hyperframe==5.2.0
itsdangerous==1.1.0
Jinja2==2.11.2
kaitaistruct==0.8
ldap3==2.7
MarkupSafe==1.1.1
mitmproxy==5.2
passlib==1.7.2
protobuf==3.11.3
publicsuffix2==2.20191221
pyasn1==0.4.8
pycparser==2.20
pyOpenSSL==19.1.0
pyparsing==2.4.7
pyperclip==1.8.0
ruamel.yaml==0.16.10
ruamel.yaml.clib==0.2.0
six==1.15.0
sortedcontainers==2.1.0
tornado==6.0.4
urwid==2.0.1
Werkzeug==1.0.1
wsproto==0.15.0
zstandard==0.13.0

Но сложно сказать, нужны ли для этого какие-то библиотеки C / C ++.

Например, pyOpenSSL понадобится библиотека OpenSSL, но я не могу найти ее в setup.py или setup.cfg . Есть только информация о openssl-devel, что означает, что ему может потребоваться openssl.

Кажется, единственный способ - установить и запустить его, чтобы увидеть сообщения об ошибках:)

...