我使用nunjucks模擬python項目中的前端。必須在生產中預編譯Nunjucks模板必須。我不在nunjucks模板中使用擴展或異步過濾器。我寧願使用nunjucks-precompile命令(通過npm提供)將整個模板目錄掃描到templates.js中,而不是使用grunt-task來監聽對模板的更改。如何在setup.py中執行(安全)bash shell命令?
想法是在setup.py中執行nunjucks-precompile --include ["\\.tmpl$"] path/to/templates > templates.js
命令,這樣我就可以簡單地搭載我們的部署者腳本的常規執行。
我發現a setuptools override和a distutils scripts argument可能有正確的目的,但我不太確定哪一種是最簡單的執行方法。
另一種方法是使用subprocess
直接在setup.py中執行該命令,但我已被告誡不要這(相當搶先恕我直言)。我真的不明白爲什麼不。
任何想法?誓?確認?
更新(04/2015): - 如果你沒有nunjucks-precompile
命令可用做什麼,只需使用節點包管理器安裝nunjucks像這樣:
$ npm install nunjucks