“фатальная ошибка: openssl/opensslv.h: Никакой такой файл или каталог”, компилирующий mitmproxy

Я пытаюсь установить mitmproxy пакет через зернышко как это:

$ 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.o

build/temp.linux-x86_64-2.7/_openssl.c:391:30: fatal error: openssl/opensslv.h: No such file or directory

compilation terminated.

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
  Can't roll back cryptography; was not uninstalled
Cleaning 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/cryptography
Storing 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 configargparse
ImportError: No module named configargparse
52
задан 16 July 2016 в 04:53

3 ответа

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

можно установить их всех с:

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

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

79
ответ дан 22 November 2019 в 23:49

Существует на самом деле два других вопроса здесь в Вашем выводе (предполагающий, что все другие вопросы зависимости уже решены). Обе потребности зафиксированы.

Недостающие библиотеки SSL

  1. Как был указан Knud Larsen в их ответе на этот вопрос, Вы пропускаете библиотеки 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 15.10. Ubuntu 15.10 для всех вариантов пошла EndOfLife 28 июля 2016. Необходимо рассмотреть обновление до 16,04 для получения длительной поддержки Ubuntu и обновлений.

4
ответ дан 22 November 2019 в 23:49
»» fatal error: openssl/opensslv.h: No such file or directory ««

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

66
ответ дан 22 November 2019 в 23:49

Другие вопросы по тегам:

Похожие вопросы: