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]