Próbuję zainstalować pakiet mitmproxy za pośrednictwem pip w następujący sposób:
$ sudo pip install mitmproxy
Kończy się z następującym komunikatem o błędzie:
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
Po tym jest nieco zainstalowany, przynajmniej mogę go później odinstalować.
$ mitmproxy
prowadzi do
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
Odpowiedzi:
Inne odpowiedzi odnoszą się tylko do zależności, aby wyeliminować wspomniane błędy. Lista wszystkich potrzebnych zależności jest w rzeczywistości znacznie dłuższa.
Możesz je wszystkie zainstalować za pomocą:
Następnie możesz zainstalować
mitmproxy
:I uruchom to:
Źródło: dokumentacja
źródło
Zainstaluj openssl:
sudo apt-get update && sudo apt-get install libssl-dev
źródło
keyring
naalpine
, ale dostałERROR: unsatisfiable constraints
podczas próby zainstalowanialibssl-dev
. Był w stanie go rozwiązać, instalującopenssl-dev
zamiast tego.W twoich wynikach są właściwie dwa różne problemy (zakładając, że wszystkie inne problemy zależności zostały już rozwiązane). Oba wymagają naprawy.
Brakujące biblioteki SSL
Brakujące moduły Python
Istnieje skrypt Pythona, który jest częścią wszystkiego, co uruchamiasz, i brakuje mu modułu (wywołanego
configargparse
), który musi uruchomić.Jeśli korzystasz z systemu Ubuntu 15.10 lub nowszego , możesz go zainstalować, wykonując
sudo apt-get install python-configargparse
.Jeśli korzystasz z dowolnej wersji Ubuntu przed 15.10 , musisz ją zainstalować,
pip
aby pobrać i udostępnić systemowi:sudo pip install configargparse
(Pamiętaj, że
python pip install mitmproxy
po rozwiązaniu problemu brakujących bibliotek SSL osiągnie ten sam typ rozdzielczości zależności, jednak jeśli z jakiegoś powodu tak się nie stanie, musisz ręcznie zainstalować ten moduł)źródło