|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
I'm trying to understand Distutils, but even after reading the documentation, searching the Internet, and playing around with it, I still don't understand how to use it. I think that if I could get an example setup for distutils, I could take it from there.
The following shows about what my setup looks like (simplified): code code/code_file1.py code/code_file2.py data data/datafile2.txt data/datafile2.txt In addition, I'm calling the Python Imaging Library, (http://www.pythonware.com/products/pil/index.htm) so a way to bring that along would be useful. I call it with "import ImageTk" |
|
#2
|
||||
|
||||
|
You need two files in addition to your source code:
setup.py and MANIFEST setup.py is used to create the distributable package by the author and is also used by the enduser to install the package. MANIFEST is a plain text file that just contains a list of files to include in the package (one file per line). The author will then use the command; python setup.py sdist which creates a dist sub-directory. This directory contains a zip file with all the files specified in the MANIFEST, it also contains the PKG-INFO file which helps describe the package (usually a module description) for repositories like Pypi. The end user will then unzip the package and run python setup.py install which typically would install the package into the site-packages sub-directory. As a very simple example here are my setup.py and MANIFEST files for my ptypes.py module. You probably don't need so much info defined in the setup file but the principle should be clear. I used information defined in the ptypes.py module to help self document the package but you don't have to do it that way. SETUP.PY Code:
from distutils.core import setup
import ptypes
doc = ptypes.__doc__
sum = doc.split("\n")
classifiers = """\
Development Status :: 4 - Beta
Intended Audience :: Developers
License :: Freely Distributable
Programming Language :: Python
Topic :: Software Development :: Libraries :: Python Modules
Operating System :: Microsoft :: Windows
Operating System :: Unix
"""
setup(name="ptypes",
version = ptypes.__version__,
maintainer = "Paul Hardwick",
maintainer_email = "paul@peck.org.uk",
url = "http://www.peck.org.uk/p/python",
platforms = ["any"],
description = sum[0],
classifiers = filter(None, classifiers.split("\n")),
long_description = doc,
license = "GNU GPL",
py_modules = []
)
MANIFEST Code:
README.txt ptypes.py setup.py You should be able to modify that to your needs. grim ![]()
__________________
*** Experimental Python Markup CGI V2 *** |
|
#3
|
|||
|
|||
|
Thanks. That takes care of most of it; however, I still would like a way to include the Python Imaging Library along with my program. Any pointers?
|
|
#4
|
||||
|
||||
|
PIL has it's own installer -
If you include the the PIL installer in the package you could easily write a batch file that first runs the PIL installer and then runs the setup.py script. Alternativley when you think the program is stable you could convert the whole thing to a self-contained executable with something like py2exe (Windows) or cxFreeze (Linux). grim ![]() |
|
#5
|
|||
|
|||
|
On second look, the PIL includes a portion in C, which would make it difficult to include it properly. Worse, the thing's larger than my actual program. I think I'll just include a download link.
|
![]() |
| Viewing: Dev Shed Forums > Programming Languages > Python Programming > Understanding Distutils |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|