Skip to content

PyPy Support #6

Description

@fubuloubu

blake2b-py currently doesn't support compiling for pypy 3.7 without additional configuration (assuming rust is installed)

$ pip install blake2b-py
...bash
Building wheels for collected packages: blake2b-py
  Building wheel for blake2b-py (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: ~/.pyenv/versions/pypy3.7-7.3.4/envs/ape-pypy/bin/pypy3 ~/.pyenv/versions/pypy3.7-7.3.4/envs/ape-pypy/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpkqxloceo
       cwd: /tmp/pip-install-36bcisym/blake2b-py_5d24a7fa36444f4f9f3f16e5f806ed71
  Complete output (47 lines):
  Running `maturin pep517 build-wheel -i ~/.pyenv/versions/pypy3.7-7.3.4/envs/ape-pypy/bin/pypy3`
     Compiling proc-macro2 v1.0.26
     Compiling unicode-xid v0.2.2
     Compiling syn v1.0.72
     Compiling proc-macro-hack v0.5.19
     Compiling serde_derive v1.0.125
     Compiling memchr v2.4.0
     Compiling ryu v1.0.5
     Compiling serde v1.0.125
     Compiling serde_json v1.0.64
     Compiling itoa v0.4.7
     Compiling autocfg v1.0.1
     Compiling regex-syntax v0.6.25
     Compiling version_check v0.9.3
     Compiling libc v0.2.94
     Compiling inventory v0.1.10
     Compiling unindent v0.1.7
     Compiling lazy_static v1.4.0
     Compiling spin v0.5.2
     Compiling num-traits v0.2.14
     Compiling aho-corasick v0.7.18
     Compiling quote v1.0.9
     Compiling paste-impl v0.1.18
     Compiling paste v0.1.18
     Compiling regex v1.5.3
     Compiling pyo3-derive-backend v0.8.5
     Compiling ghost v0.1.2
     Compiling inventory-impl v0.1.10
     Compiling indoc-impl v0.3.6
     Compiling ctor v0.1.20
     Compiling pyo3cls v0.8.5
     Compiling indoc v0.3.6
     Compiling pyo3 v0.8.5
  error: failed to run custom build command for `pyo3 v0.8.5`
  
  Caused by:
    process didn't exit successfully: `/tmp/pip-install-36bcisym/blake2b-py_5d24a7fa36444f4f9f3f16e5f806ed71/target/release/build/pyo3-412cf57dbee04baa/build-script-build` (exit code: 101)
    --- stderr
    thread 'main' panicked at 'Error: pyo3 requires a nightly or dev version of Rust.', ~/.cargo/registry/src/github.qkg1.top-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 --release --lib --`
  🍹 Building a mixed python/rust project
  🔗 Found pyo3 bindings
  🐍 Found PyPy 3.7 at ~/.pyenv/versions/pypy3.7-7.3.4/envs/ape-pypy/bin/pypy3
  Error: command ['maturin', 'pep517', 'build-wheel', '-i', '~/.pyenv/versions/pypy3.7-7.3.4/envs/ape-pypy/bin/pypy3'] 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

Easy solution is to just release binary wheels for pypy (3.7 preferred, but 3.6 too maybe)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions