[ 
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)

Reply via email to