FWIW, I did whip up a test case just now, I put it up at github[1]. The second commit works correctly, but not the first or the third. For Ansible and Fabric, IMO it's not necessary to put the files in /usr/share. It's just that they need somewhere to put those things and be able to get at them at runtime. Question; would it help to use pkg_resources, or being able to specify locations relative to the python interpreter prefix? Or to put it in some 'standard' directory such as <name>.egg-info? I run into this stuff in my own project as well. It annoys me to have to specify the same data twice. :-) All I want to say is: these non-python are important and I need to be able to find them somewhere at runtime. I don't really care much where exactly they are. Joost [1] https://github.com/j0057/pydatafiles