On 10:19 am, [EMAIL PROTECTED] wrote:
> I think the real solution is to fix python-twisted to use python modules > directories as God intended them to be. Removing the __init__.py check
> is a really simple change and will fix the issue as well.

As glyph mentions, this isn't really an adequate solution.

His explanation is all but satisfactory. Installing two versions of a
python package in different paths is always going to cause issues, and
this workaround is merely working by accident. If plugins are really
incompatible between versions, the very first thing to do is to version
the directory containing them.

I would be happy to expand upon my explanation until it is satisfactory, but I'm not sure what it's missing. Removing the __init__.py check re- introduces a bug which has been documented and fixed in our bugtracker. I would really like it if Debian did not, as a matter of policy, introduce bugs into the software it packages.

Your assertion that "two versions of a python package in different paths is always going to cause issues" is just wrong; I have lots of different versions of different Python packages installed on different paths; this is why sys.path is processed in order by __import__, so that the first one is deterministically selected.

The way that Twisted plugins are supposed to work is that they are not installed in a directory; they are installed inside a Python package.

It might be better to pretend that the __path__ hack in twisted/plugins wasn't present at all, since this is really just a convenience for developers working on stuff in their home directories, not a system plugin installation tool. Without this hack, nothing special happens with other directories on sys.path, and the files which must be present in twisted/plugins are not present there. Debian should really have a post-installation step to generate plugin caches for any packages which supply Twisted plugins anyway, as documented here (see the bottom, "Plugin Caching"):
http://twistedmatrix.com/projects/core/documentation/howto/plugin.html

Perhaps prior to such a step it could generate symbolic links to the plugins in all appropriate twisted/plugins directories? This wouldn't be necessary in a normal distutils installation, but if pycentral and pysupport are going to modify basic assumptions made by distutils, then they need to be modified so that everything that works with distutils still works.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to