在Raspberry Pi 2B(armv7h Arch Linux ARM)(Python 3.9.8)上安装cryptography时出现问题。

11 浏览
0 Comments

在Raspberry Pi 2B(armv7h Arch Linux ARM)(Python 3.9.8)上安装cryptography时出现问题。

我在树莓派上安装python的包遇到了一些问题,具体是在python版本3.9.8上(使用pyenv安装)。通过pacman(包)在我的系统上安装了包,因此在主要的python解释器(3.10.1)上可以使用。然而,我需要某个特定版本的python 3.9来使用此项目中的另一个包。每当我尝试通过python 3.9.8环境安装时,都会出现以下错误:

<构建cryptography包的轮子:

构建cryptography包的轮子(pyproject.toml):开始

构建cryptography包的轮子(pyproject.toml):完成,状态为'错误'

无法构建cryptography包

错误:命令退出时出错:

命令:/home/kioskuser/.local/share/virtualenvs/Kivy-Raspi-Desktop-App-EzpaxvF4/bin/python /home/kioskuser/.local/share/virtualenvs/Kivy-Raspi-Desktop-App-EzpaxvF4/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp4zxk3vu2

cwd:/tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e

完整输出(163行):

运行bdist_wheel

运行构建

运行build_py

创建build

创建build/lib.linux-armv7l-3.9

创建build/lib.linux-armv7l-3.9/cryptography

复制src/cryptography/utils.py -> build/lib.linux-armv7l-3.9/cryptography

复制src/cryptography/fernet.py -> build/lib.linux-armv7l-3.9/cryptography

复制src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.9/cryptography

复制src/cryptography/__init__.py -> build/lib.linux-armv7l-3.9/cryptography

复制src/cryptography/__about__.py -> build/lib.linux-armv7l-3.9/cryptography

创建build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.9/cryptography/x509

复制src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/x509

创建build/lib.linux-armv7l-3.9/cryptography/hazmat

复制src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat

复制src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

复制src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings

复制src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/backends

复制src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends

复制src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/twofactor

复制src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/twofactor

复制src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/twofactor

复制src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/twofactor

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/serialization

复制src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/serialization

复制src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/serialization

复制src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/serialization

复制src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/serialization

复制src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/serialization

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

复制src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/kdf

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/ciphers

复制src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/ciphers

复制src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/ciphers

复制src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/ciphers

复制src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/ciphers

复制src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/ciphers

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

复制src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/primitives/asymmetric

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/openssl

复制src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/openssl

复制src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/openssl

复制src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/openssl

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

复制src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.9/cryptography/hazmat/backends/openssl

运行egg_info

未找到与'docs/_build'匹配的以前包含的目录

警告:在目录'vectors'下未找到以前包含的文件

警告:在目录'.github'下未找到以前包含的文件

警告:未找到与'release.py'匹配的以前包含的文件

警告:未找到与'.coveragerc'匹配的以前包含的文件

警告:未找到与'codecov.yml'匹配的以前包含的文件

警告:未找到与'.readthedocs.yml'匹配的以前包含的文件

警告:未找到与'dev-requirements.txt'匹配的以前包含的文件

警告:未找到与'tox.ini'匹配的以前包含的文件

警告:未找到与'mypy.ini'匹配的以前包含的文件

警告:在目录'.zuul.d'下未找到以前包含的文件

警告:在目录'.zuul.playbooks'下未找到以前包含的文件

正在写入清单文件'src/cryptography.egg-info/SOURCES.txt'

复制src/cryptography/py.typed -> build/lib.linux-armv7l-3.9/cryptography

创建build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/_rust

复制src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/_rust

复制src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/_rust

复制src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/_rust

复制src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-3.9/cryptography/hazmat/bindings/_rust

警告:build_py:禁用了字节编译,跳过。

运行build_ext

cargo rustc --lib --manifest-path src/rust/Cargo.toml --release -v --features pyo3/abi3-py36 pyo3/extension-module -- --crate-type cdylib

Compiling proc-macro2 v1.0.32

Compiling unicode-xid v0.2.2

Compiling syn v1.0.81

Compiling autocfg v1.0.1

Running `rustc --crate-name build_script_build --edition=2018 /home/kioskuser/.cargo/registry/src/github.com-1285ae84e5963aae/proc-macro2-1.0.32/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C overflow-checks=on --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=7a95d32b66ae1a1f -C extra-filename=-7a95d32b66ae1a1f --out-dir /tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/build/proc-macro2-7a95d32b66ae1a1f -L dependency=/tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps --cap-lints allow`

Running `rustc --crate-name unicode_xid /home/kioskuser/.cargo/registry/src/github.com-1285ae84e5963aae/unicode-xid-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C overflow-checks=on --cfg 'feature="default"' -C metadata=2b7724452eebc032 -C extra-filename=-2b7724452eebc032 --out-dir /tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps -L dependency=/tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps --cap-lints allow`

Running `rustc --crate-name build_script_build --edition=2018 /home/kioskuser/.cargo/registry/src/github.com-1285ae84e5963aae/syn-1.0.81/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C overflow-checks=on --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=6954389b44e215f9 -C extra-filename=-6954389b44e215f9 --out-dir /tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/build/syn-6954389b44e215f9 -L dependency=/tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps --cap-lints allow`

Running `rustc --crate-name autocfg /home/kioskuser/.cargo/registry/src/github.com-1285ae84e5963aae/autocfg-1.0.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C overflow-checks=on -C metadata=062cd71dd028816e -C extra-filename=-062cd71dd028816e --out-dir /tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps -L dependency=/tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps --cap-lints allow`

错误:无法编译'unicode-xid'

原因是:

进程没有成功退出:`rustc --crate-name unicode_xid /home/kioskuser/.cargo/registry/src/github.com-1285ae84e5963aae/unicode-xid-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C overflow-checks=on --cfg 'feature="default"' -C metadata=2b7724452eebc032 -C extra-filename=-2b7724452eebc032 --out-dir /tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps -L dependency=/tmp/pip-install-c5oajf7r/cryptography_5c58967b948d4a78862f30763d6e3c9e/src/rust/target/release/deps --cap-lints allow`(信号:4,SIGILL:非法指令)

警告:构建失败,等待其他作业完成...

错误:构建失败

=============================DEBUG ASSISTANCE=============================

如果您看到编译错误,请尝试以下步骤以成功安装cryptography:

1)升级到最新的pip并重试。这将修复大多数用户的错误。请参阅:https://pip.pypa.io/en/stable/installing/#upgrading-pip

2)阅读https://cryptography.io/en/latest/installation/了解特定平台的具体说明。

3)查看我们的常见问题解答以获取更多信息:https://cryptography.io/en/latest/faq/

4)确保您安装了最新的Rust工具链:https://cryptography.io/en/latest/installation/#rust

Python:3.9.8

平台:Linux-5.10.90-1-rpi-ARCH-armv7l-with-glibc2.32

pip:无

setuptools:60.5.0

setuptools_rust:1.1.2

=============================DEBUG ASSISTANCE=============================

错误:cargo返回代码:101

----------------------------------------

错误:无法为cryptography构建轮子,这是安装基于pyproject.toml的项目所需的

✘ 安装失败

到目前为止,我尝试过以下方法:

  1. 升级pip(现在版本为21.3.1)
  2. 确保安装了rust编译器(rustc版本为1.57.0)
  3. 确保安装了libffi(版本为3.4.2)
  4. 确保安装了OpenSSL(版本为1.1.1)
  5. 作为Arch Linux系统,我当然安装了C编译器gcc(版本为10.2.0)
  6. 将问题隔离到此包(最初我尝试安装作为的依赖项)
  7. 尝试使用pipenv以及直接导航到<~/.pyenv/versions/3.9.8>目录中的python可执行文件
  8. 在<~/.pyenv/versions/3.9.8>目录中,尝试使用pip可执行文件,以及<./python -m pip>进行安装,两次结果都相同。
  9. 上述步骤还包括检查错误消息中建议的4个建议的调试步骤。

值得注意的是,在我的主系统的虚拟环境中,所有这些都可以完美运行(同样是Arch Linux,但是x86_64而不是ARM)。

我还可以尝试什么来安装包?

或者,看起来在通过安装的主要站点包中安装了相同版本的库,但是当然虚拟环境或单独的python版本不会识别它。有什么办法可以强制python 3.9.8使用该包呢?

0