DynamoIronPython2.7 dependencies not auto install

Hi all,

I’ve crafted a package (LIMlab, if someone want to explore it) with nodes relying on GeniusLoci and Archilab. While installing my package, Dynamo correctly downloads the dependencies. However, GeniusLoci and Archilab depend on DynamoIronPython2.7, which isn’t automatically installed with my package. As a result, my nodes won’t function without it.
How can I ensure the auto-installation of DynamoIronPython2.7 when someone installs my package?

Thanks, everyone!

A hacky workaround, but perhaps add one more custom node consisting of nothing but IronPython 2.7 node in it named “Python2.7Check”?

Thanks for the hint but I’ve already tried this workaround and it didn’t work.
Dynamo finds the absence of DynamoIronPython2.7 only when I enter into the custom node and it displays the error about this missing package.
The problem is that without DynamoIronPython2.7 installed, the nodes that require it don’t display errors, only return “null” values.

Might have to ensure that IronPython 2.7 is added as a dependency in the package then.

Exactly, this is the goal that I want to achive. However, with the previous workaround, Dynamo don’t recognize IronPython2.7 as dependency and so it doesn’t add it into the list of dependencies of my package. And I’m here to find a way to do that.

You might have to manually edit the json if it isn’t self populating. That said I haven’t seen it NOT self populate, so I’m a bit shocked. Does the version on package manager have the IP2 node in it?

Yes, I also considered manually editing the JSON file, but as you mentioned, it’s self-populated, so my changes won’t be saved.
Yes, in version 1.0.12 of my package, there’s a node called Python27_dependencies that I created using an older version of Dynamo, infact when I edit it with a new version of Dynamo it indicates that it was created with a Python2 version.

Which Dynamo build are you publishing from?


This is the version of my Dynamo

@Michael_Kirschner2 any ideas?

Hi @jacob.small, I’m back, I noticed that the Synthesize toolkit is the only one dependent on the DynamoIronPython2.7 package. So, I believe it’s possible to create this dependency, although it might be challenging given that only one package has developed it. Do you have any ideas on how I can discover how Synthesize creates this dependency?

Hmmm… perhaps we can try summoning @Karam_Baki to see if he can shed some light?

Sorry for the late response.

I’ve been cooking something nice; and I believe you will love it. please check at your earliest convenience.

Now, regarding the problem of the dependencies.

I’ve seen this coming, so to make things easier for me and anyone requesting this hack, I created a node called File.SupportDependency in Synthesize toolkit

You may call it, and plug directory path of your package, along with the boolean parameters of which you want to support Dynamo Future File and Dynamo IronPython2.7

And the kit will do the rest for your package.

You may then proceed and upload to the package manager; you will find out that your package will be dependent on them.

The basic concept behind this is that this node creates multiple other nodes that makes your desired package connecting to those nodes in the other packages that you want to depend on, thus tricking the package manager to force the dependencies.

Whenever you change your Revit version, and/or loose the integration, just run the node again and your problem will be resolved.

Let me know if this helps.

5 Likes

Thank you so much @Karam_Baki, it works perfectly!

I read your post about the AI-Wasel tower, really interesting, it is an awesome work! I’ll be waiting the next parts of the saga!

1 Like