ERROR installing web3[tester]: Failed building wheel for blake2b-py

Question:

I’m trying to install the web3 tester with pip install -U web3[tester] but always getting this error.

Pip and setuptools are both on their current version.

The complete error:

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

When I run the command again with –verbose I am getting:

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'
Asked By: Royal.Flush

||

Answers:

stderr thread ‘main’ panicked at ‘Error: pyo3 requires a nightly or dev version of Rust.’

You have to install a nightly or dev version of Rust (do you have rust installed at all ?)

EDIT
You can install rust nightly on macOS with following commands in the shell:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default nightly
Answered By: TheEagle

Running:

xcode-select --reset

Did the job for me

Answered By: Hvitis