Each one won't even INSTALL unless you have the previous one. Copying files my tail.
Before you get more agitated, I am speaking in a very abstract form, the way python system and libraries works. It stores its library dlls and src in its own directory. To manually install something, most of the time we just have to copy stuff. At least all those libs you mentioned bothered to create a nice installer that copies precompiled stuff for you. Many times, people have to download entire source libraries and build them manually before they can be used ( a scripting language like python just need the most core dll and the source can be compiled jit).
Maybe I've made the mistake of saying the wrong stuff to the wrong audience. I am just regretful that whatever I've said is totally irrelevant and useless to you, given that you are probably not interested in python itself.
The explanations on the wiki page are supposed to be sufficient ...
I'll soon update the tool btw.
I didn't have problems with the instructions, but I'd probably made the same mistake as you, overlooking perhaps our own familiarity with such stuff and underestimating the difficulties to less familiar people. and yeah, a more layman instructions could make less people hate python
Just for consideration, I was wondering if the creature parsing part can be somewhat refactored such that it becomes easier for people to add custom alerts? Currently, I'm inserting my mods directly into the code that parses the creature info. I was wondering if it will be more useful if the creature parsing (and adding to display grid) be made to call a generic function that passes the creature data and alerts in (by default empty), so that if users want to add their own customized alerts, they just do that inside that function alone without messing with the rest of the code.
e.g. have a empty handler method like
def onParseCreature(self, c, alerts):
if( ... do some check to creature c ... ):
alerts.append("Custom Alert!")
and somewere in getCreature before the last return insert
self.onParseCreature(c, alerts) #process user alerts
Subsequently, can probably put up several samples of useful checks and alerts for people to copy/paste/modify.
Just a thought and in the meantime looking forward to your update (so that I can finally move big grid!)