P
Paul Paterson
I'm having a problem using setuptools to create a distribution for a project that includes data files. I can get the data files to be included in the zipped package file (*.tar.gz) but when I easy_install the package the datafiles are not installed. (Ubuntu 11.04, Python2.7).
I'm trying to use easy_install because the project is a game with dependencies and so it would be nice for easy_install to handle all that for people.
My setup.py file is below at the end of the post.
I create the zip with,
Then the dist/tacman-0.1.tar.gz includes my data files as identified in theMANIFEST.in file.
But when I do,
.... the python modules appear in /usr/local/lib/python27/dist-packages/tacman-0.1-py2.7.egg but the data files are nowhere to be seen. I tried locating them using pkg_resources but that didn't help. Some Googling suggested /usr/share as a location but they weren't there either.
Am I looking in the right place or did they just not get installed?
The whole distribution file is at http://perpetualpyramid.com/tacman-0.1.tar.gz in case that helps. The file is bit large because it is a game and thezip includes the music and graphics.
Thanks for any help and pointers.
Paul
--- setup.py ---
from setuptools import setup, find_packages
import game.common
setup(name='tacman',
version=game.common.version,
scripts=['tacman.py'],
entry_points = {
'console_scripts' : [
'tacman = tacman.tacman',
]
},
description='A tactical, turn-based clone on PACMAN',
author='Paul Paterson',
author_email='(e-mail address removed)',
url='http://www.perpetualpyramid/tacman.html',
download_url=('http://perpetualpyramid.com/tacman-%s.tar.gz' % game..common.version),
include_package_data=True,
zip_safe=False,
packages=[
'serge', 'serge.blocks', 'serge.tools', 'serge.tools.template', 'game',
],
package_dir={'':'.'},
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Development Status :: 4 - Beta",
"Environment :: Other Environment",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
"Operating System :: OS Independent",
"Topic :: Games/Entertainment",
"Topic :: Games/Entertainment :: Puzzle Games",
],
install_requires=[
'pygame', 'networkx',
],
long_description='''\
TACMAN
------
A turn-based, tactical version of PACMAN.
Play a PACMAN clone where the action is turn based. You move and then the
ghosts move. The turn-based action adds additional tactical elements to the
game and allows you to plan ahead and outwit the ghosts!
Requires: Python 2.6+, pygame 1.9+, networkx
''',
)
I'm trying to use easy_install because the project is a game with dependencies and so it would be nice for easy_install to handle all that for people.
My setup.py file is below at the end of the post.
I create the zip with,
python setup.py egg_info ....
python setup.py sdist
Then the dist/tacman-0.1.tar.gz includes my data files as identified in theMANIFEST.in file.
But when I do,
sudo easy_install dist/tacman-0.1.tar.gz
.... the python modules appear in /usr/local/lib/python27/dist-packages/tacman-0.1-py2.7.egg but the data files are nowhere to be seen. I tried locating them using pkg_resources but that didn't help. Some Googling suggested /usr/share as a location but they weren't there either.
Am I looking in the right place or did they just not get installed?
The whole distribution file is at http://perpetualpyramid.com/tacman-0.1.tar.gz in case that helps. The file is bit large because it is a game and thezip includes the music and graphics.
Thanks for any help and pointers.
Paul
--- setup.py ---
from setuptools import setup, find_packages
import game.common
setup(name='tacman',
version=game.common.version,
scripts=['tacman.py'],
entry_points = {
'console_scripts' : [
'tacman = tacman.tacman',
]
},
description='A tactical, turn-based clone on PACMAN',
author='Paul Paterson',
author_email='(e-mail address removed)',
url='http://www.perpetualpyramid/tacman.html',
download_url=('http://perpetualpyramid.com/tacman-%s.tar.gz' % game..common.version),
include_package_data=True,
zip_safe=False,
packages=[
'serge', 'serge.blocks', 'serge.tools', 'serge.tools.template', 'game',
],
package_dir={'':'.'},
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Development Status :: 4 - Beta",
"Environment :: Other Environment",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
"Operating System :: OS Independent",
"Topic :: Games/Entertainment",
"Topic :: Games/Entertainment :: Puzzle Games",
],
install_requires=[
'pygame', 'networkx',
],
long_description='''\
TACMAN
------
A turn-based, tactical version of PACMAN.
Play a PACMAN clone where the action is turn based. You move and then the
ghosts move. The turn-based action adds additional tactical elements to the
game and allows you to plan ahead and outwit the ghosts!
Requires: Python 2.6+, pygame 1.9+, networkx
''',
)