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?