python - 安装 web3 [tester] 时出错:blake2b-py 构建轮子失败
问题描述
我正在尝试安装 web3 测试器,pip install -U web3[tester]
但总是出现此错误。
Pip 和 setuptools 都在其当前版本上。
完整的错误:
Building wheels for collected packages: blake2b-py
Building wheel for blake2b-py (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/rf/h_h1jw411_l1d366hm2pybm00000gn/T/tmpigyl8c27
cwd: /private/var/folders/rf/h_h1jw411_l1d366hm2pybm00000gn/T/pip-install-yu97ljpj/blake2b-py_61e5c1e928bf4c3fa77c17397812b60f
Complete output (20 lines):
Compiling proc-macro2 v1.0.24
Compiling unicode-xid v0.2.1
Compiling syn v1.0.58
Compiling proc-macro-hack v0.5.19
Compiling memchr v2.3.4
Compiling serde_derive v1.0.118
Compiling serde v1.0.118
Compiling ryu v1.0.5
Compiling lazy_static v1.4.0
Compiling serde_json v1.0.61
error: could not compile `ryu`
To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Cargo build finished with "exit code: 101": `cargo rustc --message-format json --manifest-path Cargo.toml --lib --release -- -C link-arg=-undefined -C link-arg=dynamic_lookup`
Running `maturin pep517 build-wheel -i python`
Error: Command '['maturin', 'pep517', 'build-wheel', '-i', 'python']' returned non-zero exit status 1.
----------------------------------------
ERROR: Failed building wheel for blake2b-py
Failed to build blake2b-py
ERROR: Could not build wheels for blake2b-py which use PEP 517 and cannot be installed directly
当我再次使用 --verbose 运行命令时,我得到:
error: failed to run custom build command for `pyo3 v0.8.5`
Caused by:
process didn't exit successfully: `/private/var/folders/rf/h_h1jw411_l1d366hm2pybm00000gn/T/pip-install-ewvt5uxi/blake2b-py_af0db53ab76c4fb48590a7692b7f3b09/target/release/build/pyo3-3ab2c629ff3fb44d/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Error: pyo3 requires a nightly or dev version of Rust.', /Users/Pancake/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.8.5/build.rs:542:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Cargo build finished with "exit code: 101": `cargo rustc --message-format json --manifest-path Cargo.toml --lib --release -- -C link-arg=-undefined -C link-arg=dynamic_lookup`
Running `maturin pep517 build-wheel -i python`
Error: Command '['maturin', 'pep517', 'build-wheel', '-i', 'python']' returned non-zero exit status 1.
Building wheel for blake2b-py (PEP 517) ... error
ERROR: Failed building wheel for blake2b-py
Failed to build blake2b-py
ERROR: Could not build wheels for blake2b-py which use PEP 517 and cannot be installed directly
Exception information:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 224, in _main
status = self.run(options, args)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 180, in wrapper
return func(self, options, args)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 361, in run
raise InstallationError(
pip._internal.exceptions.InstallationError: Could not build wheels for blake2b-py which use PEP 517 and cannot be installed directly
Removed build tracker: '/private/var/folders/rf/h_h1jw411_l1d366hm2pybm00000gn/T/pip-req-tracker-zvzjdf19'
解决方案
stderr 线程“主”在“错误:pyo3 需要夜间或开发版本的 Rust。”时惊慌失措。
您必须安装 Rust 的每晚或开发版本(您是否安装了 rust?)
编辑您可以在 macOS 上使用 shell 中的以下命令每晚安装 rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default nightly
推荐阅读
- jenkins - Jenkins 和 Nexus 存储库管理器选择参数
- api - Google Pub/Sub API 限制
- python - 如何在熊猫数据框中创建 2 个标头,并向该标头添加图像?
- javascript - 如何根据鼠标点击位置参数触发Javascript中的事件?
- python - 在 python 中从单个脚本运行多个脚本
- node.js - 警告,在 firebase 中设置环境配置时缺少 FIREBASE_CONFIG 和 GCLOUD_PROJECT 环境变量
- firebase - 如何“过滤”满足“包含”条件的 Firestore 数据?
- angular - Mongoose 与 MongoDB 的连接
- c++ - C++ 程序在循环后给出奇怪的 int 值
- javascript - 使用 TypeScript 中的接口来描述 JS 中的数据结构