Я пытаюсь установить пакет 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.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
Ответы:
Другие ответы только обращаются к зависимостям, чтобы ошибки, о которых вы упомянули, исчезли. Список всех необходимых зависимостей на самом деле намного длиннее.
Вы можете установить их все с помощью:
Затем вы можете установить
mitmproxy
:И запустите это:
Источник: документация
источник
Установите openssl:
sudo apt-get update && sudo apt-get install libssl-dev
источник
keyring
наalpine
, но получилERROR: unsatisfiable constraints
при попытке установитьlibssl-dev
. Был в состоянии решить это, установивopenssl-dev
вместо этого.На самом деле в вашем выводе есть две разные проблемы (при условии, что все другие проблемы с зависимостями уже решены). Оба нужно исправить.
Отсутствующие библиотеки SSL
Отсутствующие модули Python
Существует скрипт на python, который является частью того, что вы запускаете, и в нем отсутствует модуль (называемый
configargparse
), который ему нужен для запуска.Если вы используете Ubuntu 15.10 или новее , вы можете установить его, выполнив команду
sudo apt-get install python-configargparse
.Если вы используете какую-либо версию Ubuntu до 15.10, вам нужно будет установить ее через систему,
pip
чтобы загрузить и сделать ее доступной для системы:sudo pip install configargparse
(Обратите внимание, что
python pip install mitmproxy
тот же тип разрешения зависимостей будет достигнут после того, как вы исправите проблему отсутствующих библиотек SSL, однако, если по какой-то причине это не нужно, вам придется вручную установить этот модуль)источник