packaging a python project and associated graphics files

Robert Kern robert.kern at gmail.com
Mon Oct 3 20:08:42 EDT 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.

http://peak.telecommunity.com/DevCenter/PythonEggs
http://peak.telecommunity.com/DevCenter/PkgResources

-- 
Robert Kern
rkern at ucsd.edu

"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