Getting Started
Attention
https://packaging.python.org/ is the authoritative resource on packaging.
Links
Getting Started
For simple python modules, follow these instructions (for Django see distutils):
Make a root directory to hold everything. Give it the same name as your
module. Use the -
character as the separator e.g.
simple-booking-engine
.
To accomodate Windows users, your “read me” file should include a .txt
extension, and it should use Windows-style carriage returns.
To convert the file to DOS format:
todos README.txt
If your Python software is a single .py
file, you should put it in the
root directory along with your README.txt
file and your setup.py
script.
If your project is a multi-file module, create a folder with the same name as your root directory (replacing the
-
separator with the under-score e.g.simple_booking_engine
), and create an__init__.py
file within it.
Download the appropriate license into the root folder e.g:
wget http://www.apache.org/licenses/LICENSE-2.0.txt -O LICENSE
Create your setup script in the root folder, setup.py
:
touch setup.py
See Setup for details…
Create a manifest file, and list files which are not included in the build by default:
touch MANIFEST.in
See Manifest for details…
Test
To integrate py.test
(very clever) with your project, see
../testing/py_test-distutils.
Note: The standard distutils
test command, python setup.py check
doesn’t seem to work on my version of python.
Build
To build a source distribution:
python setup.py clean sdist --dry-run
python setup.py clean sdist
Install
The source distribution can be installed from the archive:
pip install ~/sample/python/distutils/simple-booking-engine/dist/simple-booking-engine-0.1.0.tar.gz
Tips
To list the contents of the archive:
tar -ztvf ~/repo/wcc/whatson/dist/django-whatson-0.1.0.tar.gz