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