Public bug reported: [ Impact ]
* It is not possible to upgrade or re-install python-apt using pip from the git+ssh://git.launchpad.net/ubuntu/+source/python-apt git repo if already installed and if wheel installed too. * On initial install it also is assigned version `0.0.0` which is incorrect * This applies to the Mantic, Jammy and earlier versions. It has been fixed in Noble [ Test Plan ] * Attempt re-install of python-apt [ Where problems could occur ] * Being unable to install python-apt * Being unable to upgrade python-apt * Being unable to re-install python-apt [ Other Info ] * This been resolved upstream @ https://salsa.debian.org/apt- team/python-apt/-/commit/765772fad2d3611b952b6ad416c6b765739a902a and in `2.4.y` branch @ https://salsa.debian.org/apt-team/python- apt/-/tree/2.4.y?ref_type=heads * You can workaround this too by setting environment variable `DEBVER=2.4.11` * Reproducer ``` ❯ python3 -m venv venv ❯ source venv/bin/activate ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 setuptools 68.1.2 ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-t7t8vnsu Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-t7t8vnsu warning: filtering not recognized by server, ignoring warning: filtering not recognized by server, ignoring Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates Switched to a new branch 'ubuntu/jammy-updates' branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: python-apt Building wheel for python-apt (pyproject.toml) ... done Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808770 sha256=472ff7d9bcdad50912dc42499d68bc5e958b9843c355c157ccf920021728c205 Stored in directory: /tmp/pip-ephem-wheel-cache-nyc3gs5x/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa Successfully built python-apt Installing collected packages: python-apt Successfully installed python-apt-0.0.0 ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 python-apt 0.0.0 setuptools 68.1.2 # install wheel ❯ python3 -m pip install wheel Collecting wheel Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl.metadata Using cached wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB) Using cached wheel-0.42.0-py3-none-any.whl (65 kB) Installing collected packages: wheel Successfully installed wheel-0.42.0 ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 python-apt 0.0.0 setuptools 68.1.2 wheel 0.42.0 # Now try re-install ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-lk856i6s Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-lk856i6s warning: filtering not recognized by server, ignoring warning: filtering not recognized by server, ignoring Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates Switched to a new branch 'ubuntu/jammy-updates' branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [34 lines of output] Traceback (most recent call last): File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 59, in safe_version return str(packaging.version.Version(v)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ raise InvalidVersion(f"Invalid version: '{version}'") setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "/tmp/pip-req-build-lk856i6s/setup.py", line 100, in <module> setup(name="python-apt", File "/tmp/venv/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 147, in setup _setup_distribution = dist = klass(attrs) ^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 480, in __init__ self.patch_missing_pkg_info(attrs) File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 469, in patch_missing_pkg_info dist._version = _normalization.safe_version(str(attrs['version'])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 62, in safe_version return str(packaging.version.Version(attempt)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ raise InvalidVersion(f"Invalid version: '{version}'") setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' W: [python3.1] DistUtilsExtra import error. W: [python3.1] Sphinx import error. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details. # Now install the upstream version with the fix ❯ python3 -m pip install --upgrade git+https://salsa.debian.org/apt-team/python-apt.git@2.4.y Collecting git+https://salsa.debian.org/apt-team/python-apt.git@2.4.y Cloning https://salsa.debian.org/apt-team/python-apt.git (to revision 2.4.y) to ./pip-req-build-3685qq5l Running command git clone --filter=blob:none --quiet https://salsa.debian.org/apt-team/python-apt.git /tmp/pip-req-build-3685qq5l Running command git checkout -b 2.4.y --track origin/2.4.y Switched to a new branch '2.4.y' branch '2.4.y' set up to track 'origin/2.4.y'. Resolved https://salsa.debian.org/apt-team/python-apt.git to commit 765772fad2d3611b952b6ad416c6b765739a902a Preparing metadata (setup.py) ... done Building wheels for collected packages: python-apt Building wheel for python-apt (setup.py) ... done Created wheel for python-apt: filename=python_apt-2.4.0-cp311-cp311-linux_x86_64.whl size=1808869 sha256=88a68a971f2906fb164d899e3a656f96c13b411e1c4817b8124570c8d7d8f8b6 Stored in directory: /tmp/pip-ephem-wheel-cache-s8hfqwli/wheels/be/db/74/811f602d86304cd1d663bb8d2fac0576098fb5c1f1fcc574f5 Successfully built python-apt Installing collected packages: python-apt Attempting uninstall: python-apt Found existing installation: python-apt 0.0.0 Uninstalling python-apt-0.0.0: Successfully uninstalled python-apt-0.0.0 Successfully installed python-apt-2.4.0 # Now remove wheel ❯ python3 -m pip uninstall -y wheel Found existing installation: wheel 0.42.0 Uninstalling wheel-0.42.0: Successfully uninstalled wheel-0.42.0 # Try re-install again without wheel present in virtual env ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-x6s9fyhw Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-x6s9fyhw warning: filtering not recognized by server, ignoring warning: filtering not recognized by server, ignoring Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates Switched to a new branch 'ubuntu/jammy-updates' branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: python-apt Building wheel for python-apt (pyproject.toml) ... done Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808761 sha256=930dc876f56792a798aabcee00ca2760a6ea0b1bffe47e5d9edfa1fa03ed4c0e Stored in directory: /tmp/pip-ephem-wheel-cache-98tkauq_/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa Successfully built python-apt Installing collected packages: python-apt Attempting uninstall: python-apt Found existing installation: python-apt 2.4.0 Uninstalling python-apt-2.4.0: Successfully uninstalled python-apt-2.4.0 Successfully installed python-apt-0.0.0 ``` ** Affects: python-apt (Ubuntu) Importance: Undecided Status: New ** Affects: python-apt (Ubuntu Xenial) Importance: Undecided Status: New ** Affects: python-apt (Ubuntu Bionic) Importance: Undecided Status: New ** Affects: python-apt (Ubuntu Focal) Importance: Undecided Status: New ** Affects: python-apt (Ubuntu Jammy) Importance: Undecided Status: New ** Affects: python-apt (Ubuntu Mantic) Importance: Undecided Status: New ** Also affects: python-apt (Ubuntu Mantic) Importance: Undecided Status: New ** Also affects: python-apt (Ubuntu Jammy) Importance: Undecided Status: New ** Also affects: python-apt (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: python-apt (Ubuntu Xenial) Importance: Undecided Status: New ** Also affects: python-apt (Ubuntu Bionic) Importance: Undecided Status: New ** Description changed: [ Impact ] - * It is not possible to upgrade or re-install python-apt using pip from + * It is not possible to upgrade or re-install python-apt using pip from the git+ssh://git.launchpad.net/ubuntu/+source/python-apt git repo if already installed and if wheel installed too. - * On initial install it also is assigned version `0.0.0` which is + * On initial install it also is assigned version `0.0.0` which is incorrect - * This applies to the Mantic, Jammy and earlier versions. It has been + * This applies to the Mantic, Jammy and earlier versions. It has been fixed in Noble [ Test Plan ] - * Attempt re-install of python-apt + * Attempt re-install of python-apt [ Where problems could occur ] - * Being unable to install python-apt - - * Being unable to upgrade python-apt - - * Being unable to re-install python-apt + * Being unable to install python-apt + + * Being unable to upgrade python-apt + + * Being unable to re-install python-apt [ Other Info ] - * This been resolved upstream @ https://salsa.debian.org/apt-team/python-apt/-/commit/765772fad2d3611b952b6ad416c6b765739a902a and in `2.4.y` branch @ https://salsa.debian.org/apt-team/python-apt/-/tree/2.4.y?ref_type=heads - - * Reproducer + * This been resolved upstream @ https://salsa.debian.org/apt- + team/python-apt/-/commit/765772fad2d3611b952b6ad416c6b765739a902a and in + `2.4.y` branch @ https://salsa.debian.org/apt-team/python- + apt/-/tree/2.4.y?ref_type=heads + + * You can workaround this too by setting environment variable + `DEBVER=2.4.11` + + * Reproducer ``` ❯ python3 -m venv venv ❯ source venv/bin/activate ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 setuptools 68.1.2 ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates - Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-t7t8vnsu - Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-t7t8vnsu - warning: filtering not recognized by server, ignoring - warning: filtering not recognized by server, ignoring - Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates - Switched to a new branch 'ubuntu/jammy-updates' - branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. - Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac - Installing build dependencies ... done - Getting requirements to build wheel ... done - Preparing metadata (pyproject.toml) ... done + Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-t7t8vnsu + Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-t7t8vnsu + warning: filtering not recognized by server, ignoring + warning: filtering not recognized by server, ignoring + Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates + Switched to a new branch 'ubuntu/jammy-updates' + branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. + Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac + Installing build dependencies ... done + Getting requirements to build wheel ... done + Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: python-apt - Building wheel for python-apt (pyproject.toml) ... done - Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808770 sha256=472ff7d9bcdad50912dc42499d68bc5e958b9843c355c157ccf920021728c205 - Stored in directory: /tmp/pip-ephem-wheel-cache-nyc3gs5x/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa + Building wheel for python-apt (pyproject.toml) ... done + Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808770 sha256=472ff7d9bcdad50912dc42499d68bc5e958b9843c355c157ccf920021728c205 + Stored in directory: /tmp/pip-ephem-wheel-cache-nyc3gs5x/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa Successfully built python-apt Installing collected packages: python-apt Successfully installed python-apt-0.0.0 ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 python-apt 0.0.0 setuptools 68.1.2 # install wheel ❯ python3 -m pip install wheel Collecting wheel - Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl.metadata - Using cached wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB) + Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl.metadata + Using cached wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB) Using cached wheel-0.42.0-py3-none-any.whl (65 kB) Installing collected packages: wheel Successfully installed wheel-0.42.0 ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 python-apt 0.0.0 setuptools 68.1.2 wheel 0.42.0 # Now try re-install ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates - Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-lk856i6s - Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-lk856i6s - warning: filtering not recognized by server, ignoring - warning: filtering not recognized by server, ignoring - Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates - Switched to a new branch 'ubuntu/jammy-updates' - branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. - Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac - Preparing metadata (setup.py) ... error - error: subprocess-exited-with-error - - × python setup.py egg_info did not run successfully. - │ exit code: 1 - ╰─> [34 lines of output] - Traceback (most recent call last): - File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 59, in safe_version - return str(packaging.version.Version(v)) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ - raise InvalidVersion(f"Invalid version: '{version}'") - setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' - - During handling of the above exception, another exception occurred: - - Traceback (most recent call last): - File "<string>", line 2, in <module> - File "<pip-setuptools-caller>", line 34, in <module> - File "/tmp/pip-req-build-lk856i6s/setup.py", line 100, in <module> - setup(name="python-apt", - File "/tmp/venv/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup - return distutils.core.setup(**attrs) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/tmp/venv/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 147, in setup - _setup_distribution = dist = klass(attrs) - ^^^^^^^^^^^^ - File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 480, in __init__ - self.patch_missing_pkg_info(attrs) - File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 469, in patch_missing_pkg_info - dist._version = _normalization.safe_version(str(attrs['version'])) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 62, in safe_version - return str(packaging.version.Version(attempt)) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ - raise InvalidVersion(f"Invalid version: '{version}'") - setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' - W: [python3.1] DistUtilsExtra import error. - W: [python3.1] Sphinx import error. - [end of output] - - note: This error originates from a subprocess, and is likely not a problem with pip. + Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-lk856i6s + Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-lk856i6s + warning: filtering not recognized by server, ignoring + warning: filtering not recognized by server, ignoring + Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates + Switched to a new branch 'ubuntu/jammy-updates' + branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. + Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac + Preparing metadata (setup.py) ... error + error: subprocess-exited-with-error + + × python setup.py egg_info did not run successfully. + │ exit code: 1 + ╰─> [34 lines of output] + Traceback (most recent call last): + File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 59, in safe_version + return str(packaging.version.Version(v)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ + raise InvalidVersion(f"Invalid version: '{version}'") + setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' + + During handling of the above exception, another exception + occurred: + + Traceback (most recent call last): + File "<string>", line 2, in <module> + File "<pip-setuptools-caller>", line 34, in <module> + File "/tmp/pip-req-build-lk856i6s/setup.py", line 100, in <module> + setup(name="python-apt", + File "/tmp/venv/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup + return distutils.core.setup(**attrs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/venv/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 147, in setup + _setup_distribution = dist = klass(attrs) + ^^^^^^^^^^^^ + File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 480, in __init__ + self.patch_missing_pkg_info(attrs) + File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 469, in patch_missing_pkg_info + dist._version = _normalization.safe_version(str(attrs['version'])) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 62, in safe_version + return str(packaging.version.Version(attempt)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ + raise InvalidVersion(f"Invalid version: '{version}'") + setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' + W: [python3.1] DistUtilsExtra import error. + W: [python3.1] Sphinx import error. + [end of output] + + note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details. # Now install the upstream version with the fix ❯ python3 -m pip install --upgrade git+https://salsa.debian.org/apt-team/python-apt.git@2.4.y Collecting git+https://salsa.debian.org/apt-team/python-apt.git@2.4.y - Cloning https://salsa.debian.org/apt-team/python-apt.git (to revision 2.4.y) to ./pip-req-build-3685qq5l - Running command git clone --filter=blob:none --quiet https://salsa.debian.org/apt-team/python-apt.git /tmp/pip-req-build-3685qq5l - Running command git checkout -b 2.4.y --track origin/2.4.y - Switched to a new branch '2.4.y' - branch '2.4.y' set up to track 'origin/2.4.y'. - Resolved https://salsa.debian.org/apt-team/python-apt.git to commit 765772fad2d3611b952b6ad416c6b765739a902a - Preparing metadata (setup.py) ... done + Cloning https://salsa.debian.org/apt-team/python-apt.git (to revision 2.4.y) to ./pip-req-build-3685qq5l + Running command git clone --filter=blob:none --quiet https://salsa.debian.org/apt-team/python-apt.git /tmp/pip-req-build-3685qq5l + Running command git checkout -b 2.4.y --track origin/2.4.y + Switched to a new branch '2.4.y' + branch '2.4.y' set up to track 'origin/2.4.y'. + Resolved https://salsa.debian.org/apt-team/python-apt.git to commit 765772fad2d3611b952b6ad416c6b765739a902a + Preparing metadata (setup.py) ... done Building wheels for collected packages: python-apt - Building wheel for python-apt (setup.py) ... done - Created wheel for python-apt: filename=python_apt-2.4.0-cp311-cp311-linux_x86_64.whl size=1808869 sha256=88a68a971f2906fb164d899e3a656f96c13b411e1c4817b8124570c8d7d8f8b6 - Stored in directory: /tmp/pip-ephem-wheel-cache-s8hfqwli/wheels/be/db/74/811f602d86304cd1d663bb8d2fac0576098fb5c1f1fcc574f5 + Building wheel for python-apt (setup.py) ... done + Created wheel for python-apt: filename=python_apt-2.4.0-cp311-cp311-linux_x86_64.whl size=1808869 sha256=88a68a971f2906fb164d899e3a656f96c13b411e1c4817b8124570c8d7d8f8b6 + Stored in directory: /tmp/pip-ephem-wheel-cache-s8hfqwli/wheels/be/db/74/811f602d86304cd1d663bb8d2fac0576098fb5c1f1fcc574f5 Successfully built python-apt Installing collected packages: python-apt - Attempting uninstall: python-apt - Found existing installation: python-apt 0.0.0 - Uninstalling python-apt-0.0.0: - Successfully uninstalled python-apt-0.0.0 + Attempting uninstall: python-apt + Found existing installation: python-apt 0.0.0 + Uninstalling python-apt-0.0.0: + Successfully uninstalled python-apt-0.0.0 Successfully installed python-apt-2.4.0 # Now remove wheel ❯ python3 -m pip uninstall -y wheel Found existing installation: wheel 0.42.0 Uninstalling wheel-0.42.0: - Successfully uninstalled wheel-0.42.0 - + Successfully uninstalled wheel-0.42.0 # Try re-install again without wheel present in virtual env ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates - Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-x6s9fyhw - Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-x6s9fyhw - warning: filtering not recognized by server, ignoring - warning: filtering not recognized by server, ignoring - Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates - Switched to a new branch 'ubuntu/jammy-updates' - branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. - Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac - Installing build dependencies ... done - Getting requirements to build wheel ... done - Preparing metadata (pyproject.toml) ... done + Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-x6s9fyhw + Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-x6s9fyhw + warning: filtering not recognized by server, ignoring + warning: filtering not recognized by server, ignoring + Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates + Switched to a new branch 'ubuntu/jammy-updates' + branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. + Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac + Installing build dependencies ... done + Getting requirements to build wheel ... done + Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: python-apt - Building wheel for python-apt (pyproject.toml) ... done - Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808761 sha256=930dc876f56792a798aabcee00ca2760a6ea0b1bffe47e5d9edfa1fa03ed4c0e - Stored in directory: /tmp/pip-ephem-wheel-cache-98tkauq_/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa + Building wheel for python-apt (pyproject.toml) ... done + Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808761 sha256=930dc876f56792a798aabcee00ca2760a6ea0b1bffe47e5d9edfa1fa03ed4c0e + Stored in directory: /tmp/pip-ephem-wheel-cache-98tkauq_/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa Successfully built python-apt Installing collected packages: python-apt - Attempting uninstall: python-apt - Found existing installation: python-apt 2.4.0 - Uninstalling python-apt-2.4.0: - Successfully uninstalled python-apt-2.4.0 + Attempting uninstall: python-apt + Found existing installation: python-apt 2.4.0 + Uninstalling python-apt-2.4.0: + Successfully uninstalled python-apt-2.4.0 Successfully installed python-apt-0.0.0 ``` -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to python-apt in Ubuntu. https://bugs.launchpad.net/bugs/2055194 Title: Invalid version: 'None' when re-installing/upgrading python-apt using pip when wheel module installed Status in python-apt package in Ubuntu: New Status in python-apt source package in Xenial: New Status in python-apt source package in Bionic: New Status in python-apt source package in Focal: New Status in python-apt source package in Jammy: New Status in python-apt source package in Mantic: New Bug description: [ Impact ] * It is not possible to upgrade or re-install python-apt using pip from the git+ssh://git.launchpad.net/ubuntu/+source/python-apt git repo if already installed and if wheel installed too. * On initial install it also is assigned version `0.0.0` which is incorrect * This applies to the Mantic, Jammy and earlier versions. It has been fixed in Noble [ Test Plan ] * Attempt re-install of python-apt [ Where problems could occur ] * Being unable to install python-apt * Being unable to upgrade python-apt * Being unable to re-install python-apt [ Other Info ] * This been resolved upstream @ https://salsa.debian.org/apt- team/python-apt/-/commit/765772fad2d3611b952b6ad416c6b765739a902a and in `2.4.y` branch @ https://salsa.debian.org/apt-team/python- apt/-/tree/2.4.y?ref_type=heads * You can workaround this too by setting environment variable `DEBVER=2.4.11` * Reproducer ``` ❯ python3 -m venv venv ❯ source venv/bin/activate ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 setuptools 68.1.2 ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-t7t8vnsu Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-t7t8vnsu warning: filtering not recognized by server, ignoring warning: filtering not recognized by server, ignoring Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates Switched to a new branch 'ubuntu/jammy-updates' branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: python-apt Building wheel for python-apt (pyproject.toml) ... done Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808770 sha256=472ff7d9bcdad50912dc42499d68bc5e958b9843c355c157ccf920021728c205 Stored in directory: /tmp/pip-ephem-wheel-cache-nyc3gs5x/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa Successfully built python-apt Installing collected packages: python-apt Successfully installed python-apt-0.0.0 ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 python-apt 0.0.0 setuptools 68.1.2 # install wheel ❯ python3 -m pip install wheel Collecting wheel Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl.metadata Using cached wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB) Using cached wheel-0.42.0-py3-none-any.whl (65 kB) Installing collected packages: wheel Successfully installed wheel-0.42.0 ❯ python3 -m pip list Package Version ---------- ------- pip 23.2 python-apt 0.0.0 setuptools 68.1.2 wheel 0.42.0 # Now try re-install ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-lk856i6s Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-lk856i6s warning: filtering not recognized by server, ignoring warning: filtering not recognized by server, ignoring Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates Switched to a new branch 'ubuntu/jammy-updates' branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [34 lines of output] Traceback (most recent call last): File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 59, in safe_version return str(packaging.version.Version(v)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ raise InvalidVersion(f"Invalid version: '{version}'") setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "/tmp/pip-req-build-lk856i6s/setup.py", line 100, in <module> setup(name="python-apt", File "/tmp/venv/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 147, in setup _setup_distribution = dist = klass(attrs) ^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 480, in __init__ self.patch_missing_pkg_info(attrs) File "/tmp/venv/lib/python3.11/site-packages/setuptools/dist.py", line 469, in patch_missing_pkg_info dist._version = _normalization.safe_version(str(attrs['version'])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_normalization.py", line 62, in safe_version return str(packaging.version.Version(attempt)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__ raise InvalidVersion(f"Invalid version: '{version}'") setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'None' W: [python3.1] DistUtilsExtra import error. W: [python3.1] Sphinx import error. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details. # Now install the upstream version with the fix ❯ python3 -m pip install --upgrade git+https://salsa.debian.org/apt-team/python-apt.git@2.4.y Collecting git+https://salsa.debian.org/apt-team/python-apt.git@2.4.y Cloning https://salsa.debian.org/apt-team/python-apt.git (to revision 2.4.y) to ./pip-req-build-3685qq5l Running command git clone --filter=blob:none --quiet https://salsa.debian.org/apt-team/python-apt.git /tmp/pip-req-build-3685qq5l Running command git checkout -b 2.4.y --track origin/2.4.y Switched to a new branch '2.4.y' branch '2.4.y' set up to track 'origin/2.4.y'. Resolved https://salsa.debian.org/apt-team/python-apt.git to commit 765772fad2d3611b952b6ad416c6b765739a902a Preparing metadata (setup.py) ... done Building wheels for collected packages: python-apt Building wheel for python-apt (setup.py) ... done Created wheel for python-apt: filename=python_apt-2.4.0-cp311-cp311-linux_x86_64.whl size=1808869 sha256=88a68a971f2906fb164d899e3a656f96c13b411e1c4817b8124570c8d7d8f8b6 Stored in directory: /tmp/pip-ephem-wheel-cache-s8hfqwli/wheels/be/db/74/811f602d86304cd1d663bb8d2fac0576098fb5c1f1fcc574f5 Successfully built python-apt Installing collected packages: python-apt Attempting uninstall: python-apt Found existing installation: python-apt 0.0.0 Uninstalling python-apt-0.0.0: Successfully uninstalled python-apt-0.0.0 Successfully installed python-apt-2.4.0 # Now remove wheel ❯ python3 -m pip uninstall -y wheel Found existing installation: wheel 0.42.0 Uninstalling wheel-0.42.0: Successfully uninstalled wheel-0.42.0 # Try re-install again without wheel present in virtual env ❯ python3 -m pip install --upgrade git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Collecting git+ssh://git.launchpad.net/ubuntu/+source/python-apt@ubuntu/jammy-updates Cloning ssh://git.launchpad.net/ubuntu/+source/python-apt (to revision ubuntu/jammy-updates) to ./pip-req-build-x6s9fyhw Running command git clone --filter=blob:none --quiet ssh://git.launchpad.net/ubuntu/+source/python-apt /tmp/pip-req-build-x6s9fyhw warning: filtering not recognized by server, ignoring warning: filtering not recognized by server, ignoring Running command git checkout -b ubuntu/jammy-updates --track origin/ubuntu/jammy-updates Switched to a new branch 'ubuntu/jammy-updates' branch 'ubuntu/jammy-updates' set up to track 'origin/ubuntu/jammy-updates'. Resolved ssh://git.launchpad.net/ubuntu/+source/python-apt to commit f043e6bd4d2842d6693d48e0c68c7a63bd3be9ac Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: python-apt Building wheel for python-apt (pyproject.toml) ... done Created wheel for python-apt: filename=python_apt-0.0.0-cp311-cp311-linux_x86_64.whl size=1808761 sha256=930dc876f56792a798aabcee00ca2760a6ea0b1bffe47e5d9edfa1fa03ed4c0e Stored in directory: /tmp/pip-ephem-wheel-cache-98tkauq_/wheels/c7/db/d7/21a72eaa5719ab3ab1ca242d5d0e08aca4aa67eaddb3c9b8fa Successfully built python-apt Installing collected packages: python-apt Attempting uninstall: python-apt Found existing installation: python-apt 2.4.0 Uninstalling python-apt-2.4.0: Successfully uninstalled python-apt-2.4.0 Successfully installed python-apt-0.0.0 ``` To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/2055194/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp