Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Symlinks and relative paths in easy_install.pth break portability of virtualenvs #20

@christian-oudard

Description

@christian-oudard

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:

  1. Always have server_name be the same across games, which is confusing and would take a lot of work.
  2. Always make sure that you never run terrarium from a path that contains symlinks. This is something that should be well documented by terrarium.
  3. Make terrarium generate easy_install.pth more intelligently.

Can we try to figure out how to do option 3?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions