Próbuję utworzyć pakiet python dla aplikacji webapp (opartej na kolbie) i chciałbym, aby niektóre pliki zostały zainstalowane w znanym katalogu.Jak poprawnie spakować aplikację flaską przy użyciu plików statycznych
Na przykład, kolba próbuje znaleźć katalogi templates
i static
wewnątrz bieżącego pakietu podczas uruchamiania zintegrowanego serwera (opartego na wklejeniu). Ale w produkcji wolałbym te katalogi zainstalowane w bardziej specyficznym miejscu, takim jak virtualenv/share/package-name/{static,templates}
. W przeciwnym razie byłyby one gdzieś poniżej lib/python-2.x/...
, co nie wydaje się właściwe.
Próbowałem zainstalować pliki przy użyciu parametru data_files
w setup.py
, ale to nie wydaje się być przydatne dla całych drzew (error: can't copy 'xxx': doesn't exist or not a regular file
).
Jakie jest właściwe rozwiązanie w tej sytuacji?
To bardzo mi pomogło w pakowaniu mojej aplikacji Flask: http://flask.pocoo.org/docs/patterns/distribute/#basic-setup-script –
Widziałem to. Niestety po prostu kopiują pakiet wraz z plikami danych. Robię to teraz, ale naprawdę chciałbym przestać. Po prostu nie lubię wskazywać mojego serwera na '/ home/xxx_webapp/venv/lib/python2.7/site-packages/xxx-1.0dev-py2.7.egg/xxx/static /'. Wolałbym użyć czegoś takiego jak '/ home/xxx_webapp/venv/share/xxx/static /' – viraptor
Dlaczego próbujesz wyświetlać pliki statyczne za pomocą czegoś innego, niż zapewnia funkcja kolby? –