python-pip-shims fails to build with Python 3.9.0a5. ______________________________ test_link_and_ireq ______________________________ def test_link_and_ireq(): url = "git+https://github.com/requests/requests.git@2.19.1#egg=requests" > link = Link(url) E TypeError: 'NoneType' object is not callable tests/test_instances.py:138: TypeError ______________________________ test_parse_version ______________________________ def test_parse_version(): > assert str(parse_version("0.0.1")) == "0.0.1" E TypeError: 'NoneType' object is not callable tests/test_instances.py:178: TypeError _______________________________ test_pip_version _______________________________ def test_pip_version(): > assert str(parse_version(pip_version)) == pip_version E TypeError: 'NoneType' object is not callable tests/test_instances.py:186: TypeError __________________________________ test_wheel __________________________________ def test_wheel(): > w = Wheel("pytoml-0.1.18-cp36-none-any.whl") E TypeError: 'NoneType' object is not callable tests/test_instances.py:325: TypeError For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01321102-python-pip-shims/ For all our attempts to build python-pip-shims with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-pip-shims/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
PR: https://src.fedoraproject.org/rpms/python-pip-shims/pull-request/1
The problem seems to be caused by incompatibilities between shims 0.3.2 and the latest pip we have in rawhide (20.0.2). Shims 0.3.2 works with pip 19.3.1 but not with 20.0.2. As Miro pointed out in the PR, we cannot update shims because it might break pipenv. But, how to solve this? We can let pipenv use bundled shims and update this package. Any other possibility?
If we use bundled shims, we can as well retire this. The only reason we have this package is pipenv. I think we have several options: - rebundle + retire - figure out when the new release of pipenv happens (that uses the new release of shims) - backport the fixer
Oh, this fails to build with new pip (and not with Python3.9 per se), we can skip the test explaining the reasons. We have done that in the past. https://koschei.fedoraproject.org/package/python-pip-shims
For context, see bz1781891.
We discussed it with Patrik and we think that retiring and bundling the shims back to the pipenv is the way to go. Pip-shims depends on pip heavily and if we cannot update it together with pip in Fedora, we should keep the older version bundled with the compatible pip in pipenv. It seems that pipenv might have a new release in foreseeable future and this release might happen also to bundled libraries but this situation will repeat either sooner or later. Patrik will try to bundle pip-shims back to pipenv and test it with the bundled version and we can then proceed with this change in rawhide.
I suggest we wait with the retirement, see https://github.com/pypa/pipenv/pull/4169 -- new pipenv release is probably coming soon.
Okay. It wasn't clear that the update of vendored dependencies happens in the next release.
pip-shims is required only by pipenv and will be re-bundled back during the update of pipenv so this package can and will be retired then.
This comment is mass posted to all bugs blocking the Python 3.9 tracker, sorry if it is not 100 % relevant. When in doubt, please ask. The Python 3.9 rebuild is in progress in a Koji side tag. If you fix this bug, please don't rebuild the package in regular rawhide, but do it in the side tag with: $ fedpkg build --target=f33-python The rebuild is progressing slowly and it is possible this package won't have all the required build dependencies yet. If that's the case, please just leave the fix committed and pushed and we will eventually rebuild it for you. You are not asked to go and try rebuild all the missing dependencies yourself. If you know there is a bootstrap loop in the dependencies, let me know and we can untangle it together. If you want to test your fix or reproduce the failure, you can still use the Copr repo mentioned in the initial comment of this bug: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/
Can we rebuild this without tests for now, before we update pipenv and/or debundle this in pipenv? It blocks the Python 3.9 rebuild of pipenv.
Yes, sure, should I disable the tests in master branch?
Yes please. Once done, build in --target=f33-python.
Python 3.9 update: The f33-python side tag is currently being merged. New builds in f33-python are no longer possible, but python3 is not yet updated to Python 3.9 in rawhide. You can check when Python is Python 3.9 with: $ koji wait-repo f33-build --build python3.9-3.9.0~b1-3.fc3 And build the packages normally after that.
This package is retired in rawhide.