“Önemli hata: openssl / opensslv.h: Böyle bir dosya ya da dizin yok” mitmproxy'yi derleme


52

Mitmproxy paketini pip ile şu şekilde kurmaya çalışıyorum:

$ sudo pip install mitmproxy

Aşağıdaki hata mesajı ile sona erer:

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

Bundan sonra biraz yüklü, en azından sonradan kaldırabilirim.

 $ mitmproxy

yol açar

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

Yanıtlar:


79

Diğer cevaplar, yalnızca bahsettiğiniz hataları ortadan kaldırmak için bağımlılıkları ele almaktadır. İhtiyaç duyulan tüm bağımlılıkların listesi aslında daha uzundur.

Hepsini ile yükleyebilirsiniz:

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

Sonra yükleyebilirsiniz mitmproxy:

sudo pip install mitmproxy

Ve koş:

mitmproxy

Kaynak: belgeler


1
çalıştı, ama her nasılsa pip öldürdü. Yeniden kurmak zorunda kaldım. Şimdi her şey çalışıyor. :)
Niklas

1
@ Niklas Sorununuzu çözdüğünü duyduğuma sevindim. İyi günler!
grooveplex

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

Openssl yükleyin: sudo apt-get update && sudo apt-get install libssl-dev


Ubuntu 16.04 (python virtualenv içinde) içinde pyOpenSSL kurulumu sırasında aynı hatayı aldım. Bu cevap benim sorunumu çözdü. Teşekkür
YÜCER

Ubuntu sunucusuna "pip install fabric" kurulurken sorun giderildi (stretch / sid veya Ubuntu 16.04.1 LTS).
Sergei G


1
Hashpumpy yüklenirken hata kaydedildi.
NonStandardModel 29:18

Ben yüklemeye çalışırken benzer bir sorunu vardı keyringüzerinde alpine, ama var ERROR: unsatisfiable constraintsyüklemeye çalışırken libssl-dev. openssl-devBunun yerine yükleyerek çözmek mümkün oldu .
Cowlinator

4

Aslında çıktılarınızda iki farklı sorun var (diğer tüm bağımlılık sorunlarının zaten çözüldüğünü varsayarak). Her ikisi de sabit gerekir.

Eksik SSL Kütüphaneleri

  1. Da belirttiği gibi Knud Larsen kendi içinde bu sorunun cevabı , OpenSSL kütüphanelerini eksik . Bu konuda bu soruya verdikleri cevaplara bakın.

Eksik Python Modülleri

  1. Çalıştığınız şeyin bir parçası olan bir python betiği var ve çalışması gereken bir modülü (adında configargparse) eksik .

    Eğer biri Ubuntu 15.10 veya daha yeni , aşağıdakileri yaparak yükleyebilirsiniz sudo apt-get install python-configargparse.

    Eğer biri 15.10 önce Ubuntu herhangi bir sürümü aracılığıyla yüklemeniz gerekecektir pipsisteme indirip kullanılabilir hale getirmek için:sudo pip install configargparse

    ( python pip install mitmproxyEksik SSL kitaplıkları sorununu düzelttikten sonra aynı bağımlılık çözümlerini elde edeceğinizi unutmayın , ancak bir nedenden ötürü bu modülü el ile yüklemeniz gerekmeyecektir)

NOT: Sorunuz Ubuntu MATE 15.10 kullandığınızı belirtir. Tüm çeşitler için Ubuntu 15.10, 28 Temmuz 2016 tarihinde EndOfLife’a geçti. Devam eden Ubuntu desteği ve güncellemeleri almak için 16.04’e yükseltme yapmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.