Estruturando projetos python sem hacks de caminho

Eu tenho uma biblioteca python compartilhada que eu uso em vários projetos, então a estrutura fica assim:

Project1
    main.py <--- (One of the projects that uses the library)
...
sharedlib
    __init__.py
    ps_lib.py
    another.py

Agora, em cada projetomain.py Eu uso o seguinte hack para fazê-lo funcionar:

import os
import sys
sys.path.insert(0, os.path.abspath('..'))

import sharedlib.ps_lib
...

Existe uma maneira de fazer isso sem usar esse hack? Ou existe uma maneira melhor de organizar a estrutura dos projetos?

questionAnswers(3)

yourAnswerToTheQuestion