Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-29310

pyproject.toml editable installs require pip>=21.3.1

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Undefined Undefined
    • rhel-9.5
    • rhel-9.4
    • python-pip
    • None
    • python-pip-21.3.1-1.el9
    • None
    • Low
    • rhel-sst-pt-python-ruby-nodejs
    • ssg_core_services
    • 5
    • 22
    • 5
    • False
    • Hide

      None

      Show
      None
    • None
    • CentOS Stream, Red Hat Enterprise Linux
    • None
    • None

      What were you trying to do that didn't work?

      With python3-flit-core being available in rhel-CRB and python3-hatchling in EPEL9, it is possible for Python projects on el9 to use pyproject.toml for storing metadata as per PEP-621.
      The current python3-pip package version - 21.2.3 does not support editable installs, which can be problematic for development, testing. Hatch environments are for example in editable mode by default, which can be confusing for users.

      Since the current 21.2.3 is not that far behind 21.3.1, with which editable installs work as expected, wouldn't it be worth evaluating an update?

      Please provide the package NVR for which bug is seen:

      Name         : python3-pip
      Version      : 21.2.3
      Release      : 8.el9
      Architecture : noarch
      Size         : 8.7 M
      Source       : python-pip-21.2.3-8.el9.src.rpm
      Repository   : @System
      From repo    : rhel-AppStream

      How reproducible:

      100%

      Steps to reproduce

      1. get sources for pyproject.toml-based project
      2. try to install it in editable mode

      Expected results

      1. pip install pip==21.3.1

       

      # pip install -e .
      Obtaining file:///root/tmt
        Installing build dependencies ... done
        Checking if build backend supports build_editable ... done
        Getting requirements to build editable ... done
        Preparing editable metadata (pyproject.toml) ... done
      <snip>
      Building wheels for collected packages: tmt
        Building editable for tmt (pyproject.toml) ... done
        Created wheel for tmt: filename=tmt-1.32.0.dev48+g632f2913.d20240315-py3-none-any.whl size=3469 sha256=1112c85ce6d540d5cf9070caca3cba6f3985b44763b99bfe2ff7b7c2a9b008a9
        Stored in directory: /tmp/pip-ephem-wheel-cache-upigd4w_/wheels/cf/93/45/4e597272138e35c1e8aa1ed16668e9c11e91caf5ac9c1febb8
      Successfully built tmt
      Installing collected packages: tmt
        Attempting uninstall: tmt
          Found existing installation: tmt 1.32.0.dev48+g632f2913.d20240315
          Uninstalling tmt-1.32.0.dev48+g632f2913.d20240315:
            Successfully uninstalled tmt-1.32.0.dev48+g632f2913.d20240315
      Successfully installed tmt-1.32.0.dev48+g632f2913.d20240315
      WARNING: You are using pip version 21.3.1; however, version 24.0 is available.
      You should consider upgrading via the '/opt/test/bin/python3 -m pip install --upgrade pip' command.

       

       

      Actual results

       

      # python3 -m pip install -e .
      ERROR: File "setup.py" or "setup.cfg" not found. Directory cannot be installed in editable mode: /root/tmt
      (A "pyproject.toml" file was found, but editable mode currently requires a setuptools-based build.)
      WARNING: You are using pip version 21.2.3; however, version 24.0 is available.
      You should consider upgrading via the '/opt/test/bin/python3 -m pip install --upgrade pip' command.

       

       

              python-maint python-maint
              mhoyer@redhat.com Martin Hoyer
              Lumir Balhar Lumir Balhar
              Lukas Zachar Lukas Zachar
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: