So, in our server setup, we have numerous symlinks to the various code versions. We are running the terrarium install from a symlinked "~/current/" directory, and it creates a frozen virtualenv with a non portable easy_install.pth. It contains entries like this:
../../../../../../../mnt/srv/server_name/releases/20130116140210-heads-master-0-g47d7e44/src/pymysql
When it should actually contain:
../../src/pymysql
This is basically the relative path going all the way up to the root, then back down the non-symlinked path to the same place as we started.
The problem here is that we end up including "server_name" in the .pth file, which breaks when we are on a different game server installing the same packages, and the game name is different.
I see three possible solutions here:
- Always have server_name be the same across games, which is confusing and would take a lot of work.
- Always make sure that you never run terrarium from a path that contains symlinks. This is something that should be well documented by terrarium.
- Make terrarium generate easy_install.pth more intelligently.
Can we try to figure out how to do option 3?