I am trying to get XMPP Notify to start working and every time I try to enable the plugin it just disables itself when I click apply. I have narrowed the problem down to twisted. Below is the log when I try to enable the plugin.
Unable to instantiate plugin!
twisted
Traceback (most recent call last):
File "deluge\pluginmanagerbase.py", line 143, in enable_plugin
File "pkg_resources.py", line 2047, in load
File "pkg_resources.py", line 2060, in require
File "pkg_resources.py", line 588, in resolve
DistributionNotFound: twisted
I have tried installing twisted using both pip and the twisted installer and yet I still get this error. Below is the contents of my plugins folder and a few other folder locations that might be relevant.
After some fiddling around I was able to get a little further in the plugin startup process. I copied the twisted folders from site-packages to the install directory where deluge-1.3.7-py2.7.egg was located. I now get the following error
Unable to instantiate plugin!
No module named words.xish
Traceback (most recent call last):
File "deluge\pluginmanagerbase.py", line 144, in enable_plugin
File "c:\users\basement\appdata\roaming\deluge\plugins\xmppnotify-0.3-py2.7.egg\xmppnotify\__init__.py", line 44, in __init__
from core import Core as _plugin_cls
File "c:\users\basement\appdata\roaming\deluge\plugins\xmppnotify-0.3-py2.7.egg\xmppnotify\core.py", line 46, in <module>
File "c:\users\basement\appdata\roaming\deluge\plugins\xmppnotify-0.3-py2.7.egg\xmppnotify\bot.py", line 42, in <module>
ImportError: No module named words.xish
Extra dependencies on windows are a bit of an issue, a Deluge install runs self-contained in program files so installing to C:\Python27 will have no effect. Saying that it should find the twisted included but I imagine the author has done something non-standard in the plugin code that breaks on Windows, probably the install_requires line in setup.py.
What you need to do is copy the files/eggs to C:\Program Files (x86)\Deluge\ in order for them to be picked up.
Thanks for the help. I copied the dependencies over to the deluge program folder and that's when I started getting the error in my second post. At this point to save from more headache I will probably just write my own plugin. I'll have to brush up on python, its been far too long...
The original error was because of the install_require line but any subsequent errors are actual missing dependencies for the path that Deluge looks in, which is the library.zip for python modules so this is where you will need to place twisted.words, twisted.names and wokkel.
To make this plugin work on windows without this faff, you could update the plugin by manually including the files and modify the import lines. This is what yarss2 and few other plugins do, iirc.
Thanks for all your help. I was able to get it working by modifying the import lines. In the end though I didn't really like the way the plugin worked and decided to build my own. Only took about an hour and I got it up and running to do exactly what I needed.