R20, Python - "RuntimeError:The Plugin ID 1234 collides with another plugin ID in 'Xyz'.", no matter what.



  • Title says it.
    It didn't bother me much, since it didn't seem to have an effect; the few plug-ins (that I really use at least), all worked just fine, so I did not pay much attention to those messages.
    But, since I'm trying to pick up my python-learning topic again, I reviseted a little generator plug-in that i wrote a year ago, that worked r19 but now doesn't in r20.
    In the process of looking into it to make it r20-able, I stumbled upon that "collision"-message.
    So, first thing I tried: I got a new Plugin Id from here, but that didn't change a thing, message still shows up.
    So I tried another pc, installed a fresh verion of cinema with 0 plugs installed. Then I tried 1 plug after the other and with every plug I get that message.
    no matter, if commercial, self-written or anything. every plugin shows the same message. But nonetheless the then installed plugin works.

    Well...
    when it comes back to my own written one, that I originally just wanted to port to r20: it works for me - on my workstation and on the other pc I tried it on. but it doesn't work for people, I sent it to. The erreor message says: "...AttributeError: 'module' object has no attribute...".

    So:
    My self-written plugin runs on two of my own pc's. but any plug in I install on either one of those pc's shows a Plugin ID message - but without having an impact on the workability of any installed Plugin.
    Other people that I sent my selfwritten Plugin to say, that my Plugin doesn't work for them, showing "..."...AttributeError: 'module' object has no attribute...".- message.
    I have not heard of any Plugin ID problems whatsoever on their systems though.

    I wonder, what the problem could be, I am not even sure, how/why those two aspects are entangled. If at all.
    Not sure, how to go forward from here on.
    Any ideas?


  • Global Moderator

    Hello and welcome to the PluginCafe.

    Can you be a bit more precise in your description? What exactly is the plugin ID that causes the error? What is the name of the plugin; what does Xyz stand for?

    What exactly is the attribute error?

    ..AttributeError: 'module' object has no attribute...
    

    What attribute exactly is missing? The Python console should print out the number of the line causing the error. Can you share the code that is causing the error?

    Did you set an environment variable like g_additionalModulePath that loads additional plugins?

    If you post questions, please make sure to use the Q&A system.

    Best wishes,
    Sebastian



  • hi sebastian,

    thx for getting involved.
    in the meantime the "module/attribute"-part of the problem seems to have been resolved.

    it was a little generator plugin, that i set up a year ago while i had been trying to learn python for a few weeks, a kind of practice if you wish. (unfortunately didn't keep going back).
    ppl that used it in r19 now wanted me to look into it, since it did not work in r20 anymore.
    so i tried to remember stuff :)

    well, after changing a thing concerning instances it actually worked on my systems on r20, but not on other people's.
    they were getting this "...AttributeError: 'module' object has no attribute...". - message, which i did not get.
    on another forum outside of this one, i have been made aware of a "symbol cache"-problem, stating that whenever a plug-in had been updated and things in it's ressources had been changed, the symbolcache-file in the "prefs"-folder should be deleted.
    turns out, doing that made the "...AttributeError: 'module' object has no attribute...".-message go away for those ppl (as mentioned, i myself did never get that AttributeError: "'module' object has no attribute 'BESPLINE_SOURCE_OBJECT'", pointing to the line "obj_sel = op[c4d.BESPLINE_SOURCE_OBJECT]".

    so, that part's been solved by deleting the symbol cache file.

    since i did not know about this solution, i had to keep an eye on the other part of the problem, which is the plugin-id-collision topic.
    i also tried and got a new plugin id for that plugin (old one: 1040388, new one: 1050856) but that didn't change anything.
    but it also had to be independent of my little plug, since it occurs with every plugin, that is installed.
    so, when i go ahead and delete all plugins, but one, out of the plugin-folder, the one that is still installed shows the same message:
    for example, the one plugin, that is in the folder right now is drop2floor, showing the message in the console:
    "RuntimeError:The plugin ID '1041642' collides with another plugin ID in 'Drop2Floor'.You have to use a unique ID for registering your plugin!You can get a personal number for free from PluginCafe at www.plugincafe.com"

    no matter, which plug, i'm getting this message.

    when it comes to:
    "Did you set an environment variable like g_additionalModulePath that loads additional plugins?"
    no, it didn't. frankly, i didn't know about that. i thought, the builtin-possibility would take care of that. was not aware, that one would additionally need to set the paths manually wihthin the system's settings.
    within r20 i had defined a custom folder as a plugin-folder. most boringly, it's the "old" plugin-folder in the user-prefs folder, that i use as a custom folder.
    habits die hard, i guess.

    since you made me aware of the need to setup the additional env.variable, i tried it. no luck, unfortunately.
    but: during this process, i realized that, if i put the plugin (whichever) into the plugin-folder within the main application structure, the collision-messages do not appear anymore.

    well, that's the status.
    at the end, it's not that big of a deal, since all plugins, while showing this message, do work as expected. the collision does not seem to have any impact.

    best,
    mesut.

    @s_bach said in R20, Python - "RuntimeError:The Plugin ID 1234 collides with another plugin ID in 'Xyz'.", no matter what.:

    Hello and welcome to the PluginCafe.

    Can you be a bit more precise in your description? What exactly is the plugin ID that causes the error? What is the name of the plugin; what does Xyz stand for?

    What exactly is the attribute error?

    ..AttributeError: 'module' object has no attribute...
    

    What attribute exactly is missing? The Python console should print out the number of the line causing the error. Can you share the code that is causing the error?

    Did you set an environment variable like g_additionalModulePath that loads additional plugins?

    If you post questions, please make sure to use the Q&A system.

    Best wishes,
    Sebastian


  • Global Moderator

    It somehow sounds like your plug-ins get loaded twice. But I have no idea why.



  • @s_bach

    i see. thx, nevertheless.
    well, as said, the only way to avoid that collision seems to be: put the plugins into the plugin-folder of the main application.

    while discussing the other part of my problem (see symbolcache-topic) on other forums (the german c4dnetwork, that is), it became apparent, that other ppl also do have those collision-messages with r20 - and they, too, do not experience those plugins to be not working.

    if at any time this "problem" should become of interest for you, let me know, if there's something that i could do/deliver/add any detail, to support you in your efforts.

    cheers,
    mesut.