Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Packager son projet Django

Packager son projet Django

Avatar for Bruno Renié

Bruno Renié

April 14, 2012
Tweet

More Decks by Bruno Renié

Other Decks in Programming

Transcript

  1. git

  2. Application réutilisable : package séparé from project.app.models import Stuff from

    registration.models import RegistrationProfile Application non réutilisable : embarquée
  3. setup.py from distutils.core import setup from setuptools import find_packages with

    open('requirements.txt') as reqs: install_requires = reqs.read().split('\n') setup( name='project', version=__import__('project').__version__, packages=find_packages(), include_package_data=True, zip_safe=False, install_requires=install_requires, )
  4. MANIFEST.in pour tout ce qui est non-python include requirements.txt recursive‐include

    project * recursive‐exclude project *.pyc recursive‐exclude project *.scss exclude project/settings.py
  5. pip et paquets privés --find-links : file:///path/to/packages --index-url : structure

    de type http://pypi.python.org/simple/ bien héberger tous ses paquets pypi tombe, les versions disparaissent
  6. Workflow final Déployer (incrément n° de version) python setup.py sdist

    (upload) pip install ‐U project ‐‐find‐links … Rollback pip install project==X.Y.Z ‐‐find‐links …