«erreur fatale: openssl / opensslv.h: aucun fichier ou répertoire de ce type» lors de la compilation de mitmproxy

46

J'essaie d'installer le paquet mitmproxy via pip comme ceci:

$ sudo pip install mitmproxy

Il se termine avec le message d'erreur suivant:

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

Après cela, il est un peu installé, je peux au moins le désinstaller par la suite.

 $ mitmproxy

mène à

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
    
posée Niklas 11.07.2016 - 13:53
la source

3 réponses

71

Les autres réponses ne traitent que des dépendances pour éliminer les erreurs que vous avez mentionnées. La liste de toutes les dépendances nécessaires est en réalité beaucoup plus longue.

Vous pouvez tous les installer avec:

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

Ensuite, vous pouvez installer mitmproxy :

sudo pip install mitmproxy

Et lancez-le:

mitmproxy

Source: documentation

    
réponse donnée grooveplex 11.07.2016 - 14:17
la source
57
»» fatal error: openssl/opensslv.h: No such file or directory ««

Installez openssl: sudo apt-get update && sudo apt-get install libssl-dev

    
réponse donnée Knud Larsen 11.07.2016 - 13:58
la source
4

Votre sortie contient en réalité deux problèmes différents (en supposant que tous les autres problèmes de dépendance soient déjà résolus). Les deux doivent être réparés.

Bibliothèques SSL manquantes

  1. Comme indiqué par Knud Larsen dans leur réponse à cette question , les bibliothèques OpenSSL sont manquantes . Reportez-vous à leur réponse sur cette question pour cette question.

Modules Python manquants

  1. Un script python fait partie de tout ce que vous exécutez et il manque un module (appelé configargparse ) dont il a besoin pour s'exécuter.

    Si vous êtes sur Ubuntu 15.10 ou plus récent , vous pouvez l'installer en effectuant sudo apt-get install python-configargparse .

    Si vous utilisez une version d'Ubuntu antérieure à 15.10 , vous devrez l'installer via pip pour le télécharger et le mettre à la disposition du système: sudo pip install configargparse

    (Notez que python pip install mitmproxy obtiendra le même type de résolution de dépendance une fois que vous aurez résolu le problème des bibliothèques SSL manquantes. Toutefois, si ce n'est pas le cas, vous devrez installer ce module manuellement.

NOTE: Your question states that you are using Ubuntu MATE 15.10. Ubuntu 15.10 for all variants has gone EndOfLife on July 28, 2016. You should consider upgrading to 16.04, in order to receive continued Ubuntu support and updates.

    
réponse donnée Thomas Ward 11.07.2016 - 14:07
la source

Lire d'autres questions sur les étiquettes