packaging a python project and associated graphics files

Robert Kern robert.kern at
Tue Oct 4 02:08:42 CEST 2005

Rajarshi Guha wrote:
> Hi, I've been trying to package a python project and I'm a little confused
> about how I distribute some PNG's that the program uses as icons.
> Using distutils I can set the data_files argument of setup() and get my
> data files located in, say, /usr/local/mydata.
> However when I write my code, it would seem that I have to hardcode the
> above path. But this would mean that while working on the code I would
> need to have it 'installed' on my system (or else actually make the above
> directory).
> This seems a little unwieldy. How do people handle this situation?

I recommend packaging the files in the package itself. With Python 2.4,
you can make distutils do this with the package_data argument to
setup(). You can find your files by looking at the __file__ variable in
any of your modules.

Also, take a look at PythonEggs and pkg_resources.

Robert Kern
rkern at

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter

More information about the Python-list mailing list