This is a quick start up guide for using Houdini with yt.

Download Houdini

You can download Houdini from the SideFX website right here. Note, you can choose to buy a license or go with an "Apprentice" license for free. There are some limitations with the free license including a maximum resolution of 1280x720 for images and a watermark will appear on each image. For the full range of supported and unsupported features with each sort of license please refer to the SideFX comparison tables.

yt Installation Process

Install yt

There are a few different ways to install yt. We'd recommend installing with conda or miniconda. This way if you need to roll back your Python install to match that installed in Houdini, one can accomplish this easily with:

/PATH TO CONDA/conda install python=2.7.##
where the "##" refers to whatever Python install Houdini is using.

Alternatively, you can create a specific conda enviornment to use specifically this version of python. This can be done for a variety of packages, but below we will just do it for Python:

/PATH TO CONDA/conda -n py27 python=2.7.##
Before installing yt with this version of Python, make sure you activate the environment:
source activate py27
And then install yt with pip:
pip install yt

Get all your paths in order

Houdini Versions 15 & 16

You'll want to make sure both the Houdini directories and yt installed Python libraries are in your path.

On a Mac I've added the following to my .bash_profile to run the Houdini setup file which sets up the Houdini paths:

alias houdini_setup='dirold=$(pwd); cd /Library/Frameworks/Houdini.framework/Versions/15.5.565/Resources; source houdini_setup; cd $dirold'
alias houdini_setup='dirold=$(pwd); cd /Applications/Houdini/Houdini16.0.557/Frameworks/Houdini.framework/Versions/16.0.557/Resources; source houdini_setup; cd $dirold'

To run Houdini with the appropriate paths, I've added the following combination of Houdini and yt-installed Python paths as an alias to run Houdini from the command line with "houdini_run":

alias houdini_run='pathold=$PATH; PATH=/Users/jillnaiman1/yt-conda/bin:/Users/jillnaiman1/yt-conda/sbin:/Library/Frameworks/Houdini.framework/Versions/15.5.565/Resources/bin:/Library/Frameworks/Houdini.framework/Versions/15.5.565/Resources/houdini/sbin;/Library/Frameworks/Houdini.framework/Versions/15.5.565/Resources/bin/houdini; PATH=$pathold'
alias houdini_run='pathold=$PATH; PATH=/Users/jillnaiman1/yt-conda/bin:/Users/jillnaiman1/yt-conda/sbin:/Applications/Houdini/Houdini16.0.557/Frameworks/Houdini.framework/Versions/16.0.557/Resources/houdini:/Applications/Houdini/Houdini16.0.557/Frameworks/Houdini.framework/Versions/16.0.557/Resources/bin:/usr/bin:/usr/sbin/; /Applications/Houdini/Houdini16.0.557/Houdini\ Apprentice\; PATH=$pathold'

Houdini Version 17: pre-version 17.5

Things are a little bit easier in Houdini 17, as you just need to set a Python start up script to point to the correct paths.

On a Mac, the file you need to add/modify is:

so that it points to the yt scripts with, for example:
from sys import path

This process has been tested on a Mac OS10.14.2 and Houdini Version 17.5.173

Note: this process assumes you have root privileges and aren't afraid to use them. Install Houdini locally if this isn't something you want to be a part of. We are not responsible for any harm improper use of sudo causes, and have not fully tested if this installation breaks anything else.

pip installation is following instructions: here and installing the "six" package is following ideas here.

On a Mac, cd to your Houdini python frameworks bin:

cd /Applications/Houdini/Houdini17.5.173/Frameworks/Python.framework/Versions/2.7/bin
Install pip (you will have to enter your root password):
sudo curl -o
sudo ./python
Install an updated version of six:
sudo ./pip install --ignore-installed six
Install yt and h5py:
sudo ./pip install yt
sudo ./pip install h5py
Now we have to disconnect the old version of six, on a Mack this looks like:
cd /Applications/Houdini/Houdini17.5.173/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages-forced
sudo mv six.py_old
sudo mv six.pyc six.pyc_old

Test yt Import

To test that you can grab the necessary yt files, first create a new Python shell in Houdini as shown below:

Then one must simply type "import yt" into this console to check that everything imports ok.