Lỗi nghiêm trọng của người dùng: openssl / opensslv.h: Không có tệp hoặc thư mục nào như vậy biên dịch mã hóa mitmproxy


52

Tôi đang cố gắng cài đặt gói mitmproxy qua pip như thế này:

$ sudo pip install mitmproxy

Nó kết thúc với thông báo lỗi sau:

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

Sau đó, phần nào được cài đặt, ít nhất tôi có thể gỡ cài đặt nó sau đó.

 $ mitmproxy

dẫn đến

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.askubfox.com/questions/15739/ trên : Tôi khuyên bạn nên cập nhật lên 16.04.
nặc

Câu trả lời:


79

Các câu trả lời khác chỉ giải quyết các phụ thuộc để làm cho các lỗi bạn đề cập biến mất. Danh sách tất cả các phụ thuộc cần thiết thực sự dài hơn nhiều.

Bạn có thể cài đặt tất cả với:

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

Sau đó, bạn có thể cài đặt mitmproxy:

sudo pip install mitmproxy

Và chạy nó:

mitmproxy

Nguồn: tài liệu


1
làm việc, nhưng bằng cách nào đó đã giết chết pip. Phải cài đặt lại nó. Bây giờ mọi thứ hoạt động. :)
Niklas

1
@Niklas Tôi rất vui khi biết rằng nó đã giải quyết vấn đề của bạn. Có một ngày tuyệt vời!
grooveplex 11/07/2016

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

Cài đặt openssl: sudo apt-get update && sudo apt-get install libssl-dev


Tôi đã nhận được lỗi tương tự trong quá trình thiết lập pyOpenSSL trong Ubuntu 16.04 (bên trong một ảo python). Câu trả lời này đã giải quyết vấn đề của tôi. Cảm ơn
yucer

Đã sửa lỗi khi cài đặt "pip install Fabric" trên máy chủ Ubuntu (kéo dài / sid hoặc Ubuntu 16.04.1 LTS).
Sergei G

1
Đây là câu trả lời sạch đơn giản cho bất cứ điều gì mà dựa vào pypi.python.org/pypi/cryptography/1.8.1 ví dụ pypi.python.org/pypi/paramiko/2.1.2
Bruno Bronosky

1
Đã lưu lỗi trong khi cài đặt hashpumpy.
NonSt ChuẩnModel

Tôi đã có một vấn đề tương tự cố gắng để cài đặt keyringtrên alpine, nhưng có ERROR: unsatisfiable constraintskhi cố gắng cài đặt libssl-dev. Đã có thể giải quyết nó bằng cách cài đặt openssl-devthay thế.
chăn bò

4

Thực tế có hai vấn đề khác nhau ở đầu ra của bạn (giả sử tất cả các vấn đề phụ thuộc khác đã được giải quyết). Cả hai cần cố định.

Thiếu thư viện SSL

  1. Như Knud Larsen đã nêu trong câu trả lời của họ cho câu hỏi này , bạn đang thiếu các thư viện OpenSSL . Tham khảo câu trả lời của họ cho câu hỏi này cho vấn đề đó.

Thiếu mô-đun Python

  1. Có một kịch bản python là một phần của bất cứ thứ gì bạn đang chạy và nó thiếu một mô-đun (được gọi configargparse) mà nó cần để chạy.

    Nếu bạn đang dùng Ubuntu 15.10 trở lên , bạn có thể cài đặt nó bằng cách thực hiện sudo apt-get install python-configargparse.

    Nếu bạn đang sử dụng bất kỳ phiên bản Ubuntu nào trước ngày 15.10, bạn sẽ cần cài đặt nó qua pipđể tải xuống và cung cấp cho hệ thống:sudo pip install configargparse

    (Lưu ý rằng python pip install mitmproxysẽ đạt được cùng loại độ phân giải phụ thuộc sau khi bạn khắc phục sự cố thư viện SSL bị thiếu, tuy nhiên nếu không vì lý do nào đó, bạn sẽ phải cài đặt mô-đun đó theo cách thủ công)

LƯU Ý: Câu hỏi của bạn nói rằng bạn đang sử dụng Ubuntu MATE 15.10. Ubuntu 15.10 cho tất cả các biến thể đã hết EndOfLife vào ngày 28 tháng 7 năm 2016. Bạn nên xem xét nâng cấp lên 16.04, để nhận được cập nhật và hỗ trợ Ubuntu liên tục.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.