Как установить pyOpenSSL

Рейтинг: 1Ответов: 2Опубликовано: 03.04.2023

Пишу:

python3 -m pip install -U pyOpenSSL

Логи:

/storage/emulated/0 $ python3 -m pip install -U pyOpenSSL
Collecting pyOpenSSL
  Using cached pyOpenSSL-23.1.1-py3-none-any.whl (57 kB)
Collecting cryptography<41,>=38.0.0
  Downloading cryptography-40.0.1.tar.gz (624 kB)
     |████████████████████████████████| 624 kB 828 kB/s              Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: cffi>=1.12 in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from cryptography<41,>=38.0.0->pyOpenSSL) (1.15.1)
Requirement already satisfied: pycparser in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from cffi>=1.12->cryptography<41,>=38.0.0->pyOpenSSL) (2.21)
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3 /data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /data/user/0/ru.iiec.pydroid3/cache/tmpua6q0txo
       cwd: /data/data/ru.iiec.pydroid3/cache/pip-install-iylqoeyt/cryptography_d3bc68c1cc3943d2bc50749b6ac4be98
  Complete output (217 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-cpython-39
  creating build/lib.linux-aarch64-cpython-39/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-aarch64-cpython-39/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-aarch64-cpython-39/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-aarch64-cpython-39/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-aarch64-cpython-39/cryptography
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat
  creating build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-aarch64-cpython-39/cryptography/x509
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/backends/openssl
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/openssl
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/primitives/twofactor
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'ci-constraints-requirements.txt'
  warning: no previously-included files found matching 'mypy.ini'
  adding license file 'LICENSE'
  adding license file 'LICENSE.APACHE'
  adding license file 'LICENSE.BSD'
  adding license file 'LICENSE.PSF'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  /data/data/ru.iiec.pydroid3/cache/pip-build-env-9tgfsz6m/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'cryptography.hazmat.bindings._rust' as data is deprecated, please list it in `packages`.
      !!


      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package,
      but it is not listed in the `packages` configuration of setuptools.

      'cryptography.hazmat.bindings._rust' has been automatically added to the distribution only
      because it may contain data files, but this behavior is likely to change
      in future versions of setuptools (and therefore is considered deprecated).

      Please make sure that 'cryptography.hazmat.bindings._rust' is included as a package by using
      the `packages` configuration field or the proper discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" and "data files" on setuptools
      documentation page.


  !!

    check.warn(importable)
  /data/data/ru.iiec.pydroid3/cache/pip-build-env-9tgfsz6m/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'cryptography.hazmat.bindings._rust.openssl' as data is deprecated, please list it in `packages`.
      !!


      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'cryptography.hazmat.bindings._rust.openssl' as an importable package,
      but it is not listed in the `packages` configuration of setuptools.

      'cryptography.hazmat.bindings._rust.openssl' has been automatically added to the distribution only
      because it may contain data files, but this behavior is likely to change
      in future versions of setuptools (and therefore is considered deprecated).

      Please make sure that 'cryptography.hazmat.bindings._rust.openssl' is included as a package by using
      the `packages` configuration field or the proper discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).

      You can read more about "package discovery" and "data files" on setuptools
      documentation page.


  !!

    check.warn(importable)
  copying src/cryptography/py.typed -> build/lib.linux-aarch64-cpython-39/cryptography
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust  copying src/cryptography/hazmat/bindings/_rust/_openssl.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust  copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/pkcs7.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust
  creating build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust/openssl
  copying src/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust/openssl
  copying src/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi -> build/lib.linux-aarch64-cpython-39/cryptography/hazmat/bindings/_rust/openssl
  running build_ext
  running build_rust

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation/ for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:         https://cryptography.io/en/latest/faq/
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation/#rust

      Python: 3.9.7
      platform: Linux-4.19.157-perf+-aarch64-with-libc
      pip: n/a
      setuptools: 67.6.1
      setuptools_rust: 1.5.2
      rustc: n/a
      =============================DEBUG ASSISTANCE=============================

  error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.

  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

  This package requires Rust >=1.48.0.
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.2.4; however, version 23.0.1 is available.
You should consider upgrading via the '/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/bin/python3 -m pip install --upgrade pip' command.
/storage/emulated/0 $

Что делать?

Ответы

▲ 1

Для установки pyOpenSSL вам потребуется выполнить несколько простых шагов:

  1. Убедитесь, что у вас установлен Python и pip (менеджер пакетов для Python).

  2. Откройте командную строку или терминал.

  3. Введите следующую команду, чтобы установить pyOpenSSL с помощью pip:

    pip install pyopenssl
    

Если у вас есть привилегии администратора (например, если вы используете Linux или macOS и запускаете команду с использованием sudo), то введите следующую команду:

   sudo pip install pyopenssl
  1. Дождитесь завершения установки. Когда установка будет завершена, вы сможете использовать pyOpenSSL в своих проектах на Python.

Обратите внимание, что для установки pyOpenSSL вам также может потребоваться установить некоторые зависимости, например, OpenSSL и его различные библиотеки. Если у вас возникнут проблемы с установкой, проверьте, установлены ли эти зависимости на вашей системе.

Теперь по поводу ошибки:

Похоже, произошла ошибка при сборке пакета криптографии с использованием PEP 517, который является серверной частью сборки пакета, используемой pip. Это может быть связано с отсутствием зависимостей или проблемой с самим пакетом.

Чтобы решить эту проблему, вы можете попробовать обновить pip до последней версии, выполнив команду:

   python3 -m pip install --upgrade pip

После этого вы можете снова попробовать установить пакет криптографии, используя pip. Если проблема не устранена, вы можете попробовать установить пакет из исходного кода или использовать другой менеджер пакетов.

▲ 0

Перевод последнего фрагмента ошибки (может быть не очень точный):

ошибка: не удается найти компилятор Rust

Если вы используете устаревшую версию pip, возможно,
для этого пакета доступно встроенный wheel,
но pip не может установить его.
Установка с wheel позволила бы избежать необходимости в компиляторе Rust.

Чтобы обновить pip, запустите:

  pip install --upgrade pip

а затем повторите попытку установки пакета.

Если вы действительно намеревались собрать этот пакет из исходного кода,
попробуйте установить компилятор Rust из вашего системного
менеджера пакетов и убедитесь, что он указан в переменной PATH
во время установки. В качестве альтернативы -
rustup (доступен по адресу https://rustup.rs ) -
рекомендуемый способ загрузки и обновления набора инструментов компилятора Rust.

Для этого пакета требуется Rust >= 1.48.0.

Наверное, из этого понятно, что делать.