From 996cdccc097e046fc2f61c7be5d0069b6c8eda9b Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Mon, 29 Jul 2024 23:56:52 +0800 Subject: [PATCH] [KYUUBI #6567] Fix compatibility of pyhive with setuptools==72.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # :mag: Description ## Issue References ๐Ÿ”— This pull request fixes #6567 ## Describe Your Solution ๐Ÿ”ง With `setuptools==72.0.0`, the `test` command was removed after being deprecated for a long time. This completely breaks the installation of any packages using the `test` command, including PyHive. This PR fixes PyHive to be compatible with `setuptools` 72+ again. It seems that `setup.py test` wasn't used anywhere at all, which is why I just removed it. ## Types of changes :bookmark: - [x] Bugfix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) ## Test Plan ๐Ÿงช #### Behavior Without This Pull Request :coffin: ``` $ pip install -e . Obtaining file:///home/localstack/Repos/kyuubi/python Preparing metadata (setup.py) ... error error: subprocess-exited-with-error ร— python setup.py egg_info did not run successfully. โ”‚ exit code: 1 โ•ฐโ”€> [6 lines of output] Traceback (most recent call last): File "", line 2, in File "", line 34, in File "/home/localstack/Repos/kyuubi/python/setup.py", line 4, in from setuptools.command.test import test as TestCommand ModuleNotFoundError: No module named 'setuptools.command.test' [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 ``` #### Behavior With This Pull Request :tada: ``` $ pip install --upgrade setuptools Requirement already satisfied: setuptools in .../.pyenv/versions/3.11.5/lib/python3.11/site-packages (72.0.0) $ pip install -e . Obtaining file:///home/.../repos/kyuubi/python Preparing metadata (setup.py) ... done Collecting future (from PyHive==0.7.0) Obtaining dependency information for future from https://files.pythonhosted.org/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl.metadata Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB) Requirement already satisfied: python-dateutil in /home/.../.pyenv/versions/3.11.5/lib/python3.11/site-packages (from PyHive==0.7.0) (2.8.2) Requirement already satisfied: six>=1.5 in /home/.../.pyenv/versions/3.11.5/lib/python3.11/site-packages (from python-dateutil->PyHive==0.7.0) (1.16.0) Using cached future-1.0.0-py3-none-any.whl (491 kB) Installing collected packages: future, PyHive Running setup.py develop for PyHive Successfully installed PyHive-0.7.0 future-1.0.0 [notice] A new release of pip is available: 23.2.1 -> 24.1.2 [notice] To update, run: pip install --upgrade pip ``` #### Related Unit Tests None --- # Checklist ๐Ÿ“ - [x] This patch was not authored or co-authored using [Generative Tooling](https://www.apache.org/legal/generative-tooling.html) **Be nice. Be informative.** Closes #6568 from alexrashed/fix-pyhive-setuptools-72. Closes #6567 acfb80903 [Alexander Rashed] remove usage of setuptools.command.test Authored-by: Alexander Rashed Signed-off-by: Cheng Pan --- python/setup.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/python/setup.py b/python/setup.py index 9d683ae94..8b674f63b 100755 --- a/python/setup.py +++ b/python/setup.py @@ -1,22 +1,7 @@ #!/usr/bin/env python from setuptools import setup -from setuptools.command.test import test as TestCommand import pyhive -import sys - - -class PyTest(TestCommand): - def finalize_options(self): - TestCommand.finalize_options(self) - self.test_args = [] - self.test_suite = True - - def run_tests(self): - # import here, cause outside the eggs aren't loaded - import pytest - errno = pytest.main(self.test_args) - sys.exit(errno) with open('README.rst') as readme: @@ -62,7 +47,6 @@ setup( 'sqlalchemy>=1.3.0', 'thrift>=0.10.0', ], - cmdclass={'test': PyTest}, package_data={ '': ['*.rst'], },