python中的automakedatadir和prefix

2024-09-27 07:18:20 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有my_application.py.in供automake生成my_application.py。如何在扩展${prefix}的情况下将datadir放入我的应用程序?现在我能想到的最好方法是在python应用程序中使用replace(),但是,我假设有一种更合适的方法。在

if __name__ == "__main__":
    app = Application()
    app.VERSION = '@VERSION@'
    app.PACKAGE = '@PACKAGE@'
    # How should I get the DATA_DIR in this next line?
    app.DATA_DIR = "@datarootdir@".replace("${prefix}", "@prefix@")
    app.run()

Tags: 方法inpyapp应用程序packagedataprefix
2条回答

您需要在make时间进行替换。在C语言中这更容易,在C中可以设置#define,但是对于Python,我可以尝试如下方法:

foo.py: foo.py.in
        [ -f $@ ] && rm -f $@
        $(SED) -e "s:[@]datarootdir@:$(datarootdir):" $< > $@
        chmod a-w $@

(将AC_PROG_SED添加到configure.ac

一种常见的技术是在配置.ac生成完全展开的路径。在

相关问题 更多 >

    热门问题