The problem I'm facing is small but annoying:
A colleague is working on one project in version control system X (VCS-X). Another colleague is working in another version control system Y and uses the packages from X.
Unfortunately colleague in VCS-X uses local import and modifies his path using sys.path.append('trunk/my_location')
in their code.
My view is that this is wrong practice as colleagues in X forces colleague Y to edit the code prior to being able to run it, merely because their repo is named differently.
How should these dependencies be managed?
Example:
Developer X:
>>> sys.path.append('my_repo/my_location')
>>> from my_location import toolbox
>>> nosetests -v
toolbox.test1 ... ok
toolbox.test2 ... ok
...
Developer Y:
Step 1:
>>> nosetests -v
toolbox.test1 ... fail
...
Step 2:
>>> sys.path.append('my_repo/my_location')
>>> from my_location import toolbox
Import error: No such package.
Step 3:
>>> sys.path.append('my_colleagues_repo/my_location')
>>> from my_location import toolbox
>>> nosetests -v
toolbox.test1 ... ok
toolbox.test2 ... ok
"...Sigh follows; the code is working ..."