<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Oct 5, 2015 at 6:56 AM, Matthias Blaicher <span dir="ltr"><<a href="mailto:matthias@blaicher.com" target="_blank">matthias@blaicher.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
in my quest to have a working PKGBUILD for Arch Linux with Python 3<br>
support I've stumbled over a new issue:<br>
<br>
> Python 3.5.0 (default, Sep 20 2015, 11:28:25)<br>
> [GCC 5.2.0] on linux<br>
> Type "help", "copyright", "credits" or "license" for more information.<br>
>>>> import vtk<br>
> Traceback (most recent call last):<br>
>   File "<stdin>", line 1, in <module><br>
>   File "/usr/lib/python3.5/site-packages/vtk/__init__.py", line 39, in <module><br>
>     from .vtkCommonCore import *<br>
>   File "/usr/lib/python3.5/site-packages/vtk/vtkCommonCore.py", line 1, in <module><br>
>     from vtkCommonCorePython import *<br>
> ImportError: No module named 'vtkCommonCorePython'<br>
>>>><br>
<br>
It's clear that this fails, since /usr/lib/python3.5/site-packages/vtk/<br>
is not in the search path, so it cannot find<br>
/usr/lib/python3.5/site-packages/vtk/vtkCommonCorePython.so.<br>
<br>
This can be confirmed by adding the vtk package to the search path via<br>
> export PYTHONPATH=/usr/lib/python3.5/site-packages/vtk<br>
<br>
However, this should obviously work without manually defining the search<br>
path. I propose to change the line to<br>
<br>
> from vtk.vtkCommonCorePython import *<br>
or<br>
> from .vtkCommonCorePython import *<br></blockquote><div><br></div><div>This assumes that the extension modules are installed in the same</div><div>directory as the pure-python modules, which (for me at least) is</div><div>generally not the case.  Often the extension modules are kept in</div><div>a platform-specific directory somewhere else in the path.</div><div><br></div><div>Tonight I can look at the PEPs for this.</div><div><br></div><div> - David</div><div><br></div></div></div></div>