Thanks for clarifying! I don't understand python package and modules names
that well, but I thought that the package namespacing would've helped,
since you are in pyspark.sql.types. I guess not?

On Tue, May 26, 2015 at 3:03 PM Davies Liu <dav...@databricks.com> wrote:

> There is a module called 'types' in python 3:
>
> davies@localhost:~/work/spark$ python3
> Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
> [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import types
> >>> types
> <module 'types' from
> '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/types.py'>
>
> Without renaming, our `types.py` will conflict with it when you run
> unittests in pyspark/sql/ .
>
> On Tue, May 26, 2015 at 11:57 AM, Justin Uang <justin.u...@gmail.com>
> wrote:
> > In commit 04e44b37, the migration to Python 3, pyspark/sql/types.py was
> > renamed to pyspark/sql/_types.py and then some magic in
> > pyspark/sql/__init__.py dynamically renamed the module back to types. I
> > imagine that this is some naming conflict with Python 3, but what was the
> > error that showed up?
> >
> > The reason why I'm asking about this is because it's messing with pylint,
> > since pylint cannot now statically find the module. I tried also
> importing
> > the package so that __init__ would be run in a init-hook, but that isn't
> > what the discovery mechanism is using. I imagine it's probably just
> crawling
> > the directory structure.
> >
> > One way to work around this would be something akin to this
> > (
> http://stackoverflow.com/questions/9602811/how-to-tell-pylint-to-ignore-certain-imports
> ),
> > where I would have to create a fake module, but I would probably be
> missing
> > a ton of pylint features on users of that module, and it's pretty hacky.
>

Reply via email to