Hi Sylvain,

Unfortunately I won't be able to attend the EuroPython next week. But
please keep me in the loop, I will try to make as much time as I can if you
need me to do some test or provide you with anything.

Cheers


2014-07-17 18:09 GMT+02:00 Sylvain Thénault <sylvain.thena...@logilab.fr>:

> Hi François,
>
> by chance, would you be in EuroPython next week ? I intend to work on this
> namespace package problem there.
>
> Cheers
>
> On 01 juillet 11:22, François Vanderkelen wrote:
> > Hi Sylvain, experts.
> >
> > I tried to work a little more on this and I found out why it "worked"
> with
> > setuptools 0.9.8.
> >
> > Turns out it did not, it is just when you start with a clean environement
> > (not containing any of your namespaced packages) pylint is running
> properly
> > and flagging every import of related namespace packages as missing.
> >
> > Although the good part is that it is matching properly relatives import,
> > you cannot have multiple dependencies to packages from the same
> namespace.
> >
> > I am pretty sure that namespace usage is "erratic" in python since even
> > Setuptools does not seem to respect PEP420, but I am not sure the fact
> the
> > Pylint block on this comes from setuptools.
> >
> > I think is is worth fixing but I am not sure where to start :)
> >
> >
> > 2014-05-16 15:57 GMT+02:00 François Vanderkelen <
> > vanderkelen.franc...@gmail.com>:
> >
> > > I tried multiple things, first even if I install the package before
> > > running pylint it won't work except on one of my machines.
> > >
> > > So I tried to narrow it down with setuptools :
> > >
> > > Working with 0.9.8
> > > Not working with 2.2 (ImportError)
> > > Not working with 3.6 (ImportError)
> > >
> > > I guess setuptools changed something concerning namespaces packages,
> bug
> > > or not this is another story. I'll keep looking.
> > >
> > > Thanks a lot Sylvain
> > >
> > >
> > > 2014-05-16 15:01 GMT+02:00 Sylvain Thénault <
> sylvain.thena...@logilab.fr>:
> > >
> > > On 16 mai 14:42, François Vanderkelen wrote:
> > >> > Hi Sylvain,
> > >> >
> > >> > First of all thanks for the quick answer. I tried to create a dummy
> > >> project
> > >> > (the real one is confidential and not mine to give to the community)
> > >> and it
> > >> > helped me narrow down my two issues.
> > >> >
> > >> > The ImportError: No module named project is linked to the relative
> > >> import,
> > >> > and I could not reproduce the error in a dummy project. I finally
> found
> > >> it,
> > >> > it has to do with my namespaces packages.
> > >> >
> > >> > What I mean by namespaces is in my python library I dispose of
> several
> > >> > packages like this :
> > >> >
> > >> > company.mongodb
> > >> > company.redis
> > >> > company.hbase
> > >> >
> > >> > And also :
> > >> >
> > >> > company.project.core
> > >> > company.project.app.dashboard
> > >> > company.project.app.security
> > >> >
> > >> > Where company and project are all the same things, this allows me
> and my
> > >> > team to easily identify each package and what it is supposed to do.
> We
> > >> try
> > >> > to foster the open-source spirit in my company, hence the company
> > >> top-level
> > >> > namespace. It is still internal but at least we share it across all
> > >> teams :)
> > >> >
> > >> > Going back to the issue, if one package of the namespace is
> installed,
> > >> then
> > >> > apparently pylint is looking directly inside the python path and
> can't
> > >> find
> > >> > my package since it is not yet installed. I have the same issue
> with the
> > >> > "python setup.py develop" command, so I guess I am doing namespacing
> > >> wrong,
> > >> > or it is not well defined in python ?
> > >> >
> > >> > The only thing I do is adding
> > >> > *_import__('pkg_resources').declare_namespace(__name__)
> > >> > *in the __init__.py of the namespace package.
> > >> >
> > >> > If I run pylint in another environment without any packages
> installed,
> > >> it
> > >> > works like a charm (except I have a bunch of violations for missing
> > >> > imports).
> > >> >
> > >> > Do you want me to open an issue on bitbucket explaining all that or
> do
> > >> you
> > >> > think I am doing something I am not supposed to do ?
> > >>
> > >> I think what you're doing is right.
> > >>
> > >> The crash has already been supported:
> > >>
> > >>
> https://bitbucket.org/logilab/pylint/issue/203/importing-namespace-packages-crashes
> > >>
> > >> It seems to me that the namespace package issue is related to recent
> > >> version of
> > >> setuptools and has also been reported but can't find it right away.
> > >>
> > >> --
> > >> Sylvain Thénault, LOGILAB, Paris (01.45.32.03.12) - Toulouse
> > >> (05.62.17.16.42)
> > >> Formations Python, Debian, Méth. Agiles:
> http://www.logilab.fr/formations
> > >> Développement logiciel sur mesure:
> http://www.logilab.fr/services
> > >> CubicWeb, the semantic web framework:    http://www.cubicweb.org
> > >>
> > >
> > >
>
> --
> Sylvain Thénault, LOGILAB, Paris (01.45.32.03.12) - Toulouse
> (05.62.17.16.42)
> Formations Python, Debian, Méth. Agiles: http://www.logilab.fr/formations
> Développement logiciel sur mesure:       http://www.logilab.fr/services
> CubicWeb, the semantic web framework:    http://www.cubicweb.org
>
_______________________________________________
code-quality mailing list
code-quality@python.org
https://mail.python.org/mailman/listinfo/code-quality

Reply via email to