deedy5 / primp

🪞PRIMP (Python Requests IMPersonate). The fastest python HTTP client that can impersonate web browsers
MIT License
89 stars 7 forks source link

Termux fail to install #29

Closed Troptrap closed 3 months ago

Troptrap commented 4 months ago

Like other rust based browser impersonating libs, this one is based on boring-ssl as well and fails at:

error: failed to run custom build command for `boring-sys-imp v2.1.0`

      Caused by:
        process didn't exit successfully: `/data/data/com.termux/files/usr/tmp/pip-install-lgn23cdn/primp_a27321ab947e40c6b2f38a2b3191bec0/target/release/build/boring-sys-imp-ac1992ab03b8d327/build-script-build` (exit status: 101)
        --- stdout
        cargo:rerun-if-env-changed=BORING_BSSL_PATH
        Patch "patches/boringssl-old-ciphers.patch" has already been applied. Skipping...
        cargo:rerun-if-env-changed=ANDROID_NDK_HOME

        --- stderr
        thread 'main' panicked at /data/data/com.termux/files/home/.cargo/registry/src/index.crates.io-6f17d22bba15001f/boring-sys-imp-2.1.0/build.rs:158:18:
        Please set ANDROID_NDK_HOME for Android build: NotPresent
        note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
      warning: build failed, waiting for other jobs to finish...
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.11-64bit" PYO3_PYTHON="/data/data/com.termux/files/usr/bin/python3.11" PYTHON_SYS_EXECUTABLE="/data/data/com.termux/files/usr/bin/python3.11" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/data/data/com.termux/files/usr/tmp/pip-install-lgn23cdn/primp_a27321ab947e40c6b2f38a2b3191bec0/Cargo.toml" "--release" "--lib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/data/data/com.termux/files/usr/bin/python3.11', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for primp
Failed to build primp
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (primp)

If you need other environment things, let me know, but it's boring-sys-imp that has problems. I'm not familiar with Rust, but I think this issue should actually be raised in that crate's repo (if that's how these things work).

deedy5 commented 4 months ago

pyreqwest_impersonate has been renamed to primp https://github.com/kivy/python-for-android/issues/3012 https://github.com/kivy/python-for-android/pull/3016

T-Dynamos commented 4 months ago

python-for-android != termux

Building won't work on termux (atleast according to me) as building requires android ndk. So you can request it on termux-packages or tur. For reference see p4a recipe.

Or @deedy5 should provide android .whl artifacts in release (compiled using p4a). Wheel files built with p4a can be installed on termux.