I cannot upgerade my current HA Core 2021.9.7 to 2021.10.
During the upgrade proces I got the message that cryptography cannot be build:.
Before the upgrade I installed Rust with this command: curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
No cargo directory can be found. Anyone has some advice?
This is the console output:
Building wheels for collected packages: cryptography
Building wheel for cryptography (PEP 517) … error
ERROR: Command errored out with exit status 1:
command: /home/homeassistant/.pyenv/versions/3.8.10/bin/python3.8 /home/homeassistant/.pyenv/versions/3.8.10/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmptq564qla
cwd: /tmp/pip-install-nagwnmlu/cryptography_456bf05f082b4390ae1edd9b25c72631
Complete output (153 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.8
creating build/lib.linux-armv7l-3.8/cryptography
copying src/cryptography/utils.py → build/lib.linux-armv7l-3.8/cryptography
copying src/cryptography/fernet.py → build/lib.linux-armv7l-3.8/cryptography
copying src/cryptography/exceptions.py → build/lib.linux-armv7l-3.8/cryptography
copying src/cryptography/init.py → build/lib.linux-armv7l-3.8/cryptography
copying src/cryptography/about.py → build/lib.linux-armv7l-3.8/cryptography
creating build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/oid.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/ocsp.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/name.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/general_name.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/extensions.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/base.py → build/lib.linux-armv7l-3.8/cryptography/x509
copying src/cryptography/x509/init.py → build/lib.linux-armv7l-3.8/cryptography/x509
creating build/lib.linux-armv7l-3.8/cryptography/hazmat
copying src/cryptography/hazmat/_types.py → build/lib.linux-armv7l-3.8/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py → build/lib.linux-armv7l-3.8/cryptography/hazmat
copying src/cryptography/hazmat/_der.py → build/lib.linux-armv7l-3.8/cryptography/hazmat
copying src/cryptography/hazmat/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/bindings
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/serialization
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/kdf
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/bindings/openssl
creating build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/init.py → build/lib.linux-armv7l-3.8/cryptography/hazmat/backends/openssl
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 ‘.coveragerc’
warning: no previously-included files found matching ‘codecov.yml’
warning: no previously-included files found matching ‘.readthedocs.yml’
warning: no previously-included files found matching ‘dev-requirements.txt’
warning: no previously-included files found matching ‘tox.ini’
warning: no previously-included files found matching ‘mypy.ini’
warning: no previously-included files matching ‘’ found under directory ‘.zuul.d’
warning: no previously-included files matching ‘’ found under directory ‘.zuul.playbooks’
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’
copying src/cryptography/py.typed → build/lib.linux-armv7l-3.8/cryptography
running build_ext
generating cffi module ‘build/temp.linux-armv7l-3.8/_padding.c’
creating build/temp.linux-armv7l-3.8
generating cffi module ‘build/temp.linux-armv7l-3.8/_openssl.c’
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.html for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq.html
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation.html#rust
5) If you are experiencing issues with Rust for *this release only* you may
set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
=============================DEBUG ASSISTANCE=============================
error: [Errno 2] No such file or directory: ‘cargo’
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