[
https://issues.apache.org/jira/browse/KUDU-3604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17882483#comment-17882483
]
Marton Greber commented on KUDU-3604:
-------------------------------------
After doing some RCA, it looks like just execuint pip install cython before pip
installing Kudu is not a good idea.
We probably need to take a closer look at what changed in Cython 3.x, however
it is breaking setup.py.
What we need to do, is pin down a version prior to 3.x
> Fix Kudu Python PyPi installation
> ---------------------------------
>
> Key: KUDU-3604
> URL: https://issues.apache.org/jira/browse/KUDU-3604
> Project: Kudu
> Issue Type: Improvement
> Reporter: Marton Greber
> Assignee: Marton Greber
> Priority: Major
>
> Currently if installing Kudu from PyPi the following error is thrown:
> Ubuntu18 x86_64:
> {code:java}
> kudu/client.pyx:3453:16: 'KuduRangePartition' is not a type identifier
>
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
> if not isinstance(range_partition.upper_bound, PartialRow):
> upper_bound =
> self._table.schema.new_row(range_partition.upper_bound)
> else:
> upper_bound = range_partition.upper_bound
> upper_bound._own = 0
> p = new KuduRangePartition(
> ^
> ------------------------------------------------------------
>
> kudu/client.pyx:3453:12: new operator can only be applied to a C++ class
> Compiling kudu/client.pyx because it changed.
> Compiling kudu/errors.pyx because it changed.
> Compiling kudu/schema.pyx because it changed.
> [1/3] Cythonizing kudu/client.pyx
> Traceback (most recent call last):
> File "<string>", line 1, in <module>
> File "/tmp/pip-install-ACxkFy/kudu-python/setup.py", line 159, in
> <module>
> extensions = cythonize(extensions)
> File
> "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line
> 1154, in cythonize
> cythonize_one(*args)
> File
> "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line
> 1321, in cythonize_one
> raise CompileError(None, pyx_file)
> Cython.Compiler.Errors.CompileError: kudu/client.pyx
> ----------------------------------------
> ERROR: Command errored out with exit status 1: python setup.py egg_info Check
> the logs for full command output.
> {code}
> The solution is to go into the Kudu Python source folder and install the
> requirements file. This shouldn't be necessary.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)