Python2와 OpenSSL이 Kali에서 함께 실행되지 않습니다. 해결 방법은 무엇입니까?

Python2와 OpenSSL이 Kali에서 함께 실행되지 않습니다. 해결 방법은 무엇입니까?

나는 amd64(현재 버전 2017.3)에서 Kali GNU/Linux Rolling인 Kali Linux 배포판을 가지고 있습니다. 정기적으로 업데이트하고 있는데 시스템 파일이나 패키지 관리에 지장을 주지 않습니다. 그러나 얼마 전부터 python2와 OpenSSL은 더 이상 함께 사용되지 않습니다. 처음에는 이상했지만 이제는 큰 귀찮은 일이 되었습니다. 예를 들어, 다음과 같은 간단한 호출은 실패합니다.

# pip
/usr/lib/python2.7/dist-packages/cffi/model.py:532: UserWarning: 'point_conversion_form_t' has no values explicitly defined; guessing that it is equivalent to 'unsigned int'
  % self._get_c_name())
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 21, in <module>
    from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
  File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 64, in <module>
    vendored("cachecontrol")
  File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
    __import__(modulename, globals(), locals(), level=0)
  File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/__init__.py", line 9, in <module>
  File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/wrapper.py", line 1, in <module>
  File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 4, in <module>
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/__init__.py", line 52, in <module>
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/packages/__init__.py", line 59, in <module>
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/packages/__init__.py", line 32, in vendored
  File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 47, in <module>
  File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 112, in <module>
    if _lib.Cryptography_HAS_SSL_ST:
AttributeError: 'FFILibrary' object has no attribute 'Cryptography_HAS_SSL_ST'

다양한 검색 엔진 결과를 조사한 결과 이것이 알려진 비호환성 문제인 것 같지만 실질적인 해결책이 없는 것으로 나타났습니다. 저를 혼란스럽게 하는 것은 적극적으로 유지 관리되는 배포판에서 어떻게 이런 일이 일어날 수 있다는 것입니다. (실제로 같은 설정을 하는 동료들은 이런 문제가 없습니다.)

전체 배포판을 다시 설치하지 않고도 이 문제를 쉽게 수정/수정할 수 있는 방법이 있습니까?

설치된 버전은 python/kali-rolling 2.7.14-1, python-openssl/kali-rolling 16.2.0-1 및 python-cffi/kali-rolling 1.9.1-2입니다.

답변1

pipdistro 저장소에서 설치했다고 가정합니까 ?

그렇다면 현재 버전을 삭제 pip하고 설치하세요.pip.py 받기:

curl -o ./get-pip.py https://bootstrap.pypa.io/get-pip.py
python3 ./get-pip.py
python2 ./get-pip.py

이렇게 하면 적절한 종속성을 모두 가져와야 하며 pip다시 작업하게 됩니다.

답변2

범인은 /usr/lib/python2.7/dist-packages무언가입니다. strace에게 감사드립니다. 이를 제거하면 문제가 해결되었습니다.

교훈: 비표준 패키지가 필요한 프로그램에는 가상 환경을 사용합니다.

관련 정보