[python] Setuptools, ditutils a konfigurační soubory
Radek Kanovsky
rk na dat.cz
Pátek Červenec 18 16:44:53 CEST 2008
On Fri, Jul 18, 2008 at 10:20:06AM +0200, Lumír Jasiok wrote:
> Dobrý den,
>
> snažím se přijít na to, jak nejlépe připravit z naprogramovaného kódu
> zdrojový balík a binární balíky. Zkouším použití setuptools a distutils
> a jsem schopen vygenerovat .tgz balik, python egg, debian balík apod.
> Problém nastává v okamžiku, kdy se snažím do balíku přidat soubor, který
> je tzv. "non-package data", tedy soubor, který přímo není kód pythonu a
> není umístěn ve standarním prefixu instalace (např. /usr/local). Typicky
> například konfigurační soubor, který má být standardně umístěný v /etc.
>
> Díval jsem se jak tyto situace řeší jiné projekty a většinou si na to
> programovali různé obezličky (Makefile, který volal "python setup.py"
> apod.). Poradíte mi nějaké "best practices"?
Asi nejlepsi by bylo udelat potomka nektereho commandu z distutils.command.
Mozna command "install_data" nebo "config", nebo vytvorit uplne novy
(je tam na to sablona distutils.command.command_template). Sam jsem to
nikdy nedelal, ale vsiml jsem si, ze spousta baliku to tak dela.
Vyhoda je v tom, ze instalace nebude zbytecne zavisla na dalsim
software kvuli kopirovani jednoho souboru.
Tohle bude fungovat pro instalaci ze zdrojaku pres setup.py. Jestli
to bude fungovat s egg balikem, to nevim. U tgz by asi taky nemel
byt problem, pokud budou v tgz cele cesty od korene.
Radek Kaňovský, Dat, s.r.o.
Další informace o konferenci Python