At 09:43 PM 9/30/2006 +0200, Walter Dörwald wrote: >Hello Philip! > >I'm having trouble with using setuptools with data files. The layout of >my directory is this: > >./src >./src/CVS >./src/CVS/Root >./src/CVS/Repository >./src/CVS/Entries >./src/coverage.css >./src/pycoco.py >./CVS >./CVS/Root >./CVS/Repository >./CVS/Entries >./setup.cfg >./installer.bmp >./MANIFEST.in >./setup.py > >MANIFEST.in contains the line: >include src/coverage.css
Setuptools only includes data files that are inside a *package* (which is why it's called "package_data"), or inside the .egg-info directory (metadata files), as that's the only way to ensure the files are accessible in all possible installation configurations (egg zips, egg dirs, and "traditional" installs). >My arguments to setup() look like this: > > args = dict( > name="pycoco", > version="0.1", > description="Python code coverage", > long_description="...", > author=u"Walter Doerwald", > author_email="[EMAIL PROTECTED]", > url="...", > download_url="...", > license="Python", > classifiers="...", > keywords="...", > package_dir={"": "src"}, > py_modules=["pycoco"], > package_data={ > "": ["*.css"], > } > ) For this configuration, I would suggest that you move the .css file to the package's .egg-info directory, and use this expression at runtime to retrieve the contents: data = pkg_resources.get_distribution('pycoco').get_metadata('coverage.css') >However when I do an "easy_install -Z ." I get the following directory >layout: > >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/ >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/pycoco.py >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/pycoco.pyc >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/EGG-INFO >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/EGG-INFO/PKG-INFO >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/EGG-INFO/SOURCES.txt >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/EGG-INFO/dependency_links.txt >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/EGG-INFO/top_level.txt >/var/home/coverage/pythonroot/pycoco-0.1-py2.5.egg/EGG-INFO/not-zip-safe > >with no coverage.css in sight. I'm using a ~/.pydistutils.cfg, which >contains: > >[install] >install_lib = ~/pythonroot > >I've also tried including the include_package_data=True argument, moved >the CSS file out of the src directory, changes the include statement in >MANIFEST.in to "include coverage.css" and various combination thereof >always with the same result. I'm using setuptools 0.6c3. > >Am I doing something stupid? > >BTW, I've moved most of our Python packages to setuptools, and so far it >really simplifies packages handling. The only remaining problem is >setuptools+pyexe. So thanks for all your work on setuptools. > >Servus, > Walter _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig