"фатальная ошибка: openssl/opensslv.h: Нет такого файла или каталога" компиляция mitmproxy

Я пытаюсь установить пакет mitmproxy через pip следующим образом:

$ sudo pip install mitmproxy

Он завершается следующим сообщением об ошибке:

x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.obuild/temp.linux-x86_64-2.7/_openssl.c:391:30: fatal error: openssl/opensslv.h: No such file or directorycompilation terminated.error: command 'x86_64-linux-gnu-gcc' failed with exit status 1----------------------------------------  Can't roll back cryptography; was not uninstalledCleaning up...Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-jvLTVf/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-DrY4DI-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip-build-jvLTVf/cryptographyStoring debug log for failure in /home/niklas/.pip/pip.log

После этого он в некоторой степени установлен, по крайней мере, я могу удалить его после этого.

 $ mitmproxy

приводит к

Traceback (most recent call last):  File "/usr/local/bin/mitmproxy", line 7, in <module>    from mitmproxy.main import mitmproxy  File "/usr/local/lib/python2.7/dist-packages/mitmproxy/main.py", line 7, in <module>    from . import version, cmdline  File "/usr/local/lib/python2.7/dist-packages/mitmproxy/cmdline.py", line 6, in <module>    import configargparseImportError: No module named configargparse

Другие ответы касаются только зависимостей, чтобы устранить ошибки, о которых вы упомянули. Список всех необходимых зависимостей на самом деле намного длиннее.

Вы можете установить их все с помощью:

sudo apt-get install python-pip python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev

Затем вы можете установить mitmproxy:

sudo pip install mitmproxy

И запустить его:

mitmproxy

Источник: the документация

»» fatal error: openssl/opensslv.h: No such file or directory ««

Установить openssl : sudo apt-get update && sudo apt-get install libssl-dev

На самом деле в вашем выводе есть две разные проблемы (при условии, что все остальные проблемы с зависимостями уже решены). Оба нуждаются в исправлении.

Отсутствующие библиотеки SSL

  1. Как было заявлено Кнуд Ларсен в их ответ на этот вопрос, вам не хватает библиотек OpenSSL. Обратитесь к их ответу на этот вопрос по этому вопросу.

Отсутствующие Модули Python

  1. Существует скрипт python, который является частью того, что вы запускаете, и в нем отсутствует модуль (называемый configargparse), который он должен запустить.

    Если вы находитесь на Ubuntu 15.10 или новее, вы можете установить его, выполнив sudo apt-get install python-configargparse.

    Если вы находитесь на любая версия Ubuntu до 15.10 вам нужно будет установить его через pip чтобы загрузить его и сделать доступным для системы: sudo pip install configargparse

    (Обратите внимание, что python pip install mitmproxy будет достигнут тот же тип разрешения зависимостей, как только вы устраните проблему с отсутствующими библиотеками SSL, однако, если по какой-то причине этого не произойдет, вам придется вручную установить этот модуль)

ПРИМЕЧАНИЕ: В вашем вопросе указано, что вы используете Ubuntu MATE 15.10. Ubuntu 15.10 для всех вариантов ушел Конец жизни 28 июля 2016 года. Вам следует рассмотреть возможность обновления до версии 16.04, чтобы получать постоянную поддержку и обновления Ubuntu.

EOL Notice: Wily Werewolf (15.10) is now End of Life (as of July 28, 2016) (Enforcement starts July 29) - Ask Ubuntu Meta : Я рекомендую обновить до 16.04.