With the roll out of the Autodesk 2023 suite of products, there is also a new version of Dynamo (Dynamo 2.13). A future blog will be released on some of the changes; however, one feature is too big of a change to wait. One of the big changes is with the use of Python. In Dynamo 2.12, Autodesk released the capability of using cPython (Python 3) but still had the primary Python application as IronPython (Python 2), which is what most graphs and 3rd party packages that we are used to using (i.e. Clockwork) are built on since it’s been around for a while. This change affects all the different verticals of Dynamo (Revit, Civil 3D, Alias, Advanced Steel, FormIt).
Figure 1: Default Python Engine for Dynamo for Revit 2.12.
Figure 2: Default Python version in Python Node within Dynamo for Revit 2.12
With the release of Dynamo 2.13, the primary Python engine is cPython (Python 3) and actually, IronPython’s (Python 2) engine isn’t even installed.
Figure 3: Default Python Engine for Dynamo for Revit 2.13
What this means is that all the graphs and nodes that are currently using IronPython, will run but will not actually complete or process, even though it says that it has and there most likely will not be a yellow error message; but if you look at the output of the node that is using IronPython, then it will show a null result when it shouldn’t. This can lead to some frustration and confusion as to why your graph and/or node isn’t working.
Figure 4: Null Value w/ missing DynamoIronPython2.7
If we look at the Extensions > Workspace References panel, while using a graph or node that uses IronPython, it will be show that there is a missing package, the DynamoIronPython2.7 package, which is the IronPython engine that we have used for years.
Figure 5: Workspace References showing missing DynamoIronPython2.7
Do not fear, there is a simple solution to get IronPython installed, and all your older packages and graphs will work again.
The first approach is in the Extensions > Workspace References > Packages, where we looked earlier to see it was missing, right under that missing package, it can be installed from that there.
Figure 6: Workspace Installation method for DynamoIronPython2.7
For users that want to avoid having a failed graph or node from the beginning, the IronPython engine can be downloaded and installed through the Package Manager, there are a couple listed but the ‘DynamoIronPython 2.7’ is the package you want to install.
Figure 7: Package Manager Installation for DynamoIronPython2.7
After installing this package, your graphs and nodes that were built using IronPython, should work as expected. However, consideration should be made on upgrading your graph or node to be built on the cPython engine for future releases and functionality.
If you manage your companies Dynamo packages through a login script, this package can be added and will aid in the making sure that it is properly installed and graphs are ready for users to use, especially for those that typically don’t get into Dynamo and only use the graph through Dynamo Player.
Happy Coding
About the Author
Follow on Twitter Follow on Linkedin More Content by Jamie Owens