「致命的なエラー:openssl / opensslv.h:そのようなファイルまたはディレクトリはありません」コンパイルmitmproxy


52

私はこのようなpip経由で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

meta.askubuntu.com/questions/15739/…:16.04に更新することをお勧めします。
anonymous2

回答:


79

他の答えは、あなたが言及したエラーをなくすための依存関係のみを扱っています。必要なすべての依存関係のリストは、実際にはもっと長くなります。

これらはすべて次の方法でインストールできます。

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

ソース:ドキュメント


1
働いたが、どういうわけかピップを殺した。再インストールする必要がありました。これですべてが機能します。:)
ニクラス

1
@Niklasそれはあなたの問題を解決したと聞いてうれしいです。すてきな一日を!
grooveplex

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

opensslをインストールします。 sudo apt-get update && sudo apt-get install libssl-dev


Ubuntu 16.04(python virtualenv内)でpyOpenSSLのセットアップ中に同じエラーを受け取りました。この答えは私の問題を解決しました。ありがとう
-yucer

Ubuntuサーバー(stretch / sidまたはUbuntu 16.04.1 LTS)に「pip install fabric」をインストールするときの問題を修正しました。
セルゲイG


1
hashpumpyのインストール中にエラーを保存しました。
非標準モデル

私は同様の問題をインストールしようとしkeyringましalpineたがERROR: unsatisfiable constraints、インストールしようとしたときに得ましたlibssl-devopenssl-dev代わりにインストールすることで解決できました。
カウリネーター

4

出力には実際には2つの異なる問題があります(他のすべての依存関係の問題が既に解決されていると仮定)。両方とも修正する必要があります。

不足しているSSLライブラリ

  1. で述べたようにクヌーズラーセン自分にこの質問に答えあなたはOpenSSLライブラリが欠落しています。その問題については、この質問に関する回答を参照してください。

不足しているPythonモジュール

  1. 実行しているものの一部であるpythonスクリプトがあり、configargparse実行する必要のあるモジュール(と呼ばれる)がありません。

    あなたが上にある場合のUbuntu 15.10以降、あなたがやってそれをインストールすることができますsudo apt-get install python-configargparse

    あなたが上にある場合は15.10前のUbuntuのすべてのバージョンを経由して、あなたはそれをインストールする必要がありますpip、それをシステムにダウンロードし、それを利用できるようにします。sudo pip install configargparse

    python pip install mitmproxy欠落しているSSLライブラリの問題を修正すると、同じタイプの依存関係の解決を実現しますが、何らかの理由でそのモジュールを手動でインストールする必要がある場合は注意してください)

注:あなたの質問は、Ubuntu MATE 15.10を使用していることを示しています。すべての亜種のUbuntu 15.10は、2016年7月28日にEndOfLifeになりました 。Ubuntuのサポートと更新を継続して受けるには、16.04へのアップグレードを検討する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.