Paths to Python packages

What is the recommended way of using python packages in Rhino when working with virtual environments (Anaconda)? Currently, we have a python script that adds symlinks inside /Applications/, but there are two issues with it.

  1. Every time you change the virtual environment, you need to run the script in order to update the symlinks.
  2. With every Rhino minor update, all symlinks are removed.

If you check the paths that Python sees you’ll find that there is one in ~/Application Support/McNeel/Rhinoceros/6.0/scripts. The path up until scripts you can get with the following snippet:

import Rhino
user_data_path = Rhino.ApplicationSettings.FileSettings.GetDataFolder(True)

I’ve added a symlink there and it stayed even after a Rhino update.
Thanks, I’ll change the script to add the symlinks there.

Can these steps be used to provide access to the NumPy package from IronPython?

If it is an IronPython-compatible module, then I don’t see a reason for it to not work.

No, numpy does not work in the implementation of python that Rhino embeds

What would be required in order to replace IronPython with the implementation of python used by numpy? Adding .NET support to the version of python used by numpy?

Then of course all scripts using IronPython would need updating to account for the python differences (some dozens of commands but not hundreds). It may be possible to develop a converter for the scripts.


I have lots of time (being a retired Intel engineer) and could devote a 1000 hours to this over the next year.

@stevebaer, @nathanletwory



Thank for the offer Terry. This is something we are actively persuing internally, but don’t have enough written yet to be able to let users experiment with.

1 Like


Thanks for letting me know. I would be happy be a tester when something is ready. I have 10’s of thousands of lines of IronPython code that I can use to help flush out issues.