Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Since version 4.18.x we can't install jsonschema in z/OS environment #1143

Closed
jbyibm opened this issue Jul 26, 2023 · 3 comments
Closed

Since version 4.18.x we can't install jsonschema in z/OS environment #1143

jbyibm opened this issue Jul 26, 2023 · 3 comments
Labels
Invalid Not a bug, PEBKAC, or an unsupported setup

Comments

@jbyibm
Copy link

jbyibm commented Jul 26, 2023

When we try to install jsonschema we now have an exception during the installation process because the installation tries to invoke the Rust compiler (not available in z/OS)

pip3 install jsonschema
Collecting jsonschema
  Obtaining dependency information for jsonschema from https://files.pythonhosted.org/packages/a1/ba/28ce987450c6afa8336373761193ddaadc1ba2004fbf23a6407db036f558/jsonschema-4.18.4-py3-none-any.whl.metadata
  Downloading jsonschema-4.18.4-py3-none-any.whl.metadata (7.8 kB)
Requirement already satisfied: attrs>=22.2.0 in ./env/lib/python3.11/site-packages (from jsonschema) (23.1.0)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema)
  Obtaining dependency information for jsonschema-specifications>=2023.03.6 from https://files.pythonhosted.org/packages/1c/24/83349ac2189cc2435e84da3f69ba3c97314d3c0622628e55171c6798ed80/jsonschema_specifications-2023.7.1-py3-none-any.whl.metadata
  Downloading jsonschema_specifications-2023.7.1-py3-none-any.whl.metadata (2.8 kB)
Collecting referencing>=0.28.4 (from jsonschema)
  Obtaining dependency information for referencing>=0.28.4 from https://files.pythonhosted.org/packages/ea/c3/f75f0ce2cdacca3d68a70b1756635092a1add1002e34afb4895b9fb62598/referencing-0.30.0-py3-none-any.whl.metadata
  Downloading referencing-0.30.0-py3-none-any.whl.metadata (2.7 kB)
Collecting rpds-py>=0.7.1 (from jsonschema)
  Using cached rpds_py-0.9.2.tar.gz (16 kB)
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [55 lines of output]
      Collecting maturin<2.0,>=1.0
        Using cached maturin-1.1.0.tar.gz (181 kB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'done'
      Building wheels for collected packages: maturin
        Building wheel for maturin (pyproject.toml): started
        Building wheel for maturin (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for maturin (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [33 lines of output]
            running bdist_wheel
            running build
            running build_py
            creating build
            creating build/lib
            creating build/lib/maturin
            copying maturin/__init__.py -> build/lib/maturin
            copying maturin/__main__.py -> build/lib/maturin
            copying maturin/import_hook.py -> build/lib/maturin
            running egg_info
            creating maturin.egg-info
            writing maturin.egg-info/PKG-INFO
            writing dependency_links to maturin.egg-info/dependency_links.txt
            writing requirements to maturin.egg-info/requires.txt
            writing top-level names to maturin.egg-info/top_level.txt
            writing manifest file 'maturin.egg-info/SOURCES.txt'
            reading manifest file 'maturin.egg-info/SOURCES.txt'
            reading manifest template 'MANIFEST.in'
            warning: no files found matching '*.json' under directory 'src/python_interpreter'
            writing manifest file 'maturin.egg-info/SOURCES.txt'
            running build_ext
            running build_rust
            error: can't find Rust compiler

            If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

            To update pip, run:

                pip install --upgrade pip

            and then retry package installation.

            If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for maturin
      Failed to build maturin
      ERROR: Could not build wheels for maturin, which is required to install pyproject.toml-based projects
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
@Julian
Copy link
Member

Julian commented Jul 26, 2023

Hi there -- this may indeed be the case now.

if there's a possibility of building wheels for your architecture in GitHub actions and you include the output of pip debug --verbose then I'm happy to take a request for doing so on the rpds repository -- but if there isn't I'm afraid there's nothing to be done here, at least for the moment, though as I mentioned, there's a possibility in the future that jsonschema will fallback to a pure-python implementation.

@Julian Julian closed this as not planned Won't fix, can't repro, duplicate, stale Jul 26, 2023
@jbyibm
Copy link
Author

jbyibm commented Jul 26, 2023

We will use the version before 4.18.x and wait for the version with pure-python implementation. I'm pretty certain that Rust will never be available on z/OS. If we are blocked, we will try to find an alternative to jsonschema 😞.

@debuglevel
Copy link

debuglevel commented Oct 27, 2023

Same for MSYS2 and Cygwin.

This whole Pythonic "our own language is incredibly slow, so we depend on thousands of native packages which just breaks all the time" is kind of frustrating. :(

@Julian Julian added the Invalid Not a bug, PEBKAC, or an unsupported setup label Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Invalid Not a bug, PEBKAC, or an unsupported setup
Projects
None yet
Development

No branches or pull requests

3 participants