Sto cercando di creare un pacchetto python per una webapp (basata su flask) e mi piacerebbe ottenere alcuni file installati in una directory conosciuta.Come pacchettizzare correttamente l'applicazione con i file statici
Ad esempio, il pallone tenta di trovare le directory templates
e static
all'interno del pacchetto corrente quando esegue il server integrato (basato su paste). Ma in produzione preferirei quelle directory installate in un posto più specifico come virtualenv/share/package-name/{static,templates}
. Altrimenti sarebbero da qualche parte sotto lib/python-2.x/...
che non sembra appropriato.
Ho provato a installare i file utilizzando il parametro data_files
in setup.py
, ma ciò non sembra essere utile per alberi interi (error: can't copy 'xxx': doesn't exist or not a regular file
).
Qual è la soluzione corretta in questa situazione?
Questo mi ha aiutato molto con la confezione della mia app Flask: http://flask.pocoo.org/docs/patterns/distribute/#basic-setup-script –
L'ho visto. Sfortunatamente copiano semplicemente il pacchetto insieme ai file di dati. Lo sto facendo ora, ma mi piacerebbe davvero fermarmi. Semplicemente non mi piace puntare il mio webserver su/home/xxx_webapp/venv/lib/python2.7/site-packages/xxx-1.0dev-py2.7.egg/xxx/static/'. Preferisco usare qualcosa come '/ home/xxx_webapp/venv/share/xxx/static /' – viraptor
Perché stai cercando di servire i file statici con qualcosa di diverso da quello fornito dal pallone delle funzionalità? –