Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 4.0.0
-
None
-
ghx-label-5
Description
The impala-python virtualenv currently has complicated logic that can do multiple rounds of pip installs depending on whether the toolchain has been bootstrapped. For example, the packages in compile-requirements.txt are only installed if the toolchain GCC has been installed. The Kudu python client is only installed if Kudu has been downloaded. This was a workaround because bootstrap_toolchain.py required the impala-python virtualenv. The different stages allowed the basics to be installed, then bootstrap_toolchain.py can run, then the rest can be installed.
The bootstrap_toolchain.py script no longer requires the impala-python virtualenv, so there is no need for such a complicated setup. The things bootstrapping the impala-python virtualenv can assume that the toolchain compiler is present. This would allow the requirements to be consolidated into a main requirements file that includes both compiled and non-compiled packages. A consolidated file makes it easier to update dependency versions.