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

BUG: Issues installing apexpy in python 3.12 #135

Open
ljlamarche opened this issue Jun 24, 2024 · 0 comments
Open

BUG: Issues installing apexpy in python 3.12 #135

ljlamarche opened this issue Jun 24, 2024 · 0 comments
Labels

Comments

@ljlamarche
Copy link
Collaborator

Describe the bug

Apexpy fails to install in a new python python 3.12 environment. The traceback (provided in full below) suggests this is the main error

ERROR: Could not build wheels for libcst, which is required to install pyproject.toml-based projects

and it may be related to there not being a Rust compiler available.

To Reproduce

  1. Create new python 3.12 environment
  2. pip install apexpy

Expected behavior

Sucessful installation of apexpy.

Traceback

Full traceback (long): apexpy_traceback.txt
Most relevant portion:

            writing libcst.egg-info/PKG-INFO
            writing dependency_links to libcst.egg-info/dependency_links.txt
            writing requirements to libcst.egg-info/requires.txt
            writing top-level names to libcst.egg-info/top_level.txt
            ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
            reading manifest file 'libcst.egg-info/SOURCES.txt'
            reading manifest template 'MANIFEST.in'
            warning: no previously-included files matching '*' found under directory 'native/target'
            adding license file 'LICENSE'
            writing manifest file 'libcst.egg-info/SOURCES.txt'
            /private/var/folders/yf/c17s54f12c1bg0cxdywsxyxjssh4z4/T/pip-build-env-b976c0mm/overlay/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'libcst.tests.pyre' is absent from the `packages` configuration.
            !!
      
                    ********************************************************************************
                    ############################
                    # Package would be ignored #
                    ############################
                    Python recognizes 'libcst.tests.pyre' as an importable package[^1],
                    but it is absent from setuptools' `packages` configuration.
      
                    This leads to an ambiguous overall configuration. If you want to distribute this
                    package, please make sure that 'libcst.tests.pyre' is explicitly added
                    to the `packages` configuration field.
      
                    Alternatively, you can also rely on setuptools' discovery methods
                    (for example by using `find_namespace_packages(...)`/`find_namespace:`
                    instead of `find_packages(...)`/`find:`).
      
                    You can read more about "package discovery" on setuptools documentation page:
      
                    - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
      
                    If you don't want 'libcst.tests.pyre' to be distributed and are
                    already explicitly excluding 'libcst.tests.pyre' via
                    `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
                    you can try to use `exclude_package_data`, or `include-package-data=False` in
                    combination with a more fine grained `package-data` configuration.
      
                    You can read more about "package data files" on setuptools documentation page:
      
                    - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
      
      
                    [^1]: For Python, any directory (with suitable naming) can be imported,
                          even if it does not contain any `.py` files.
                          On the other hand, currently there is no concept of package data
                          directory, all directories are treated like packages.
                    ********************************************************************************
      
            !!
              check.warn(importable)
            copying libcst/py.typed -> build/lib.macosx-11.0-arm64-cpython-312/libcst
            creating build/lib.macosx-11.0-arm64-cpython-312/libcst/tests/pyre
            copying libcst/tests/pyre/.pyre_configuration -> build/lib.macosx-11.0-arm64-cpython-312/libcst/tests/pyre
            copying libcst/tests/pyre/simple_class.json -> build/lib.macosx-11.0-arm64-cpython-312/libcst/tests/pyre
            copying libcst/tests/pyre/simple_class.py -> build/lib.macosx-11.0-arm64-cpython-312/libcst/tests/pyre
            copying libcst/_parser/conversions/README.md -> build/lib.macosx-11.0-arm64-cpython-312/libcst/_parser/conversions
            copying libcst/codemod/tests/codemod_formatter_error_input.py.txt -> build/lib.macosx-11.0-arm64-cpython-312/libcst/codemod/tests
            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 libcst
      Failed to build libcst
      ERROR: Could not build wheels for libcst, which is required to install pyproject.toml-based projects

Computer

  • OS: MacOS 14.2.1
  • Python version: 3.12
  • Compiler with version: gfortran 13.1
  • Apexpy version/branch: 2.0.1/main
@ljlamarche ljlamarche added the bug label Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant