Keith Perkins wrote: > > On a similar note , I have another question about distutils and data files. > I have a little program that uses a txt file to store data, and it works > fine running it in it's own folder, if I install through distutils, using > sudo to get it to write to the site-packages folder (which root owns), it > installs the data file so that it is owned by root, and not by me, so > that the data file can't be written to (although the script can read it). > Do I need to run a post install script, or add something to setup.py file > to chown the file or am I doing something wrong? There doesn't seem to be > anything on this in the docs.
1: as pointed out, site-packages is for code only :-) 2: you will need a post processing script. here is an example of distutils abuse that may help a little bit. I needed to collect files from a file hierarchy and one other place in the source directory then stuff them in the right place in the production directory. Since the pattern was unpredictable, I built a method to accumulate data file references. the solution is a bit more hard coded than I like but it gets the job done for now. as I need to improve it, I'll fix it. def expand_hierarchy(starting_point, data_files): dir_files = os.walk(starting_point) for (path, name, files) in dir_files: x = os.path.basename(path) if x != 'CVS': clean_files = [ os.path.join(path,item) \ for item in files \ if (clean_test(item)) ] data_files.append((cr_paths%path,clean_files)) return data_files setup(... data_files=expand_hierarchy("web-ui", [(cr_paths%'etc', ['ancillary/baseline_configuration']), ], ) to solve the file perms problem you run something after setup. how you associate perms/ownership with a file is up to you. It might work to use data_files to enumerate files you apply the common perms/owernship. then special case what you need to. hope this gives you some useful ideas. --- eric -- http://mail.python.org/mailman/listinfo/python-list