我正在编写一个python程序,我想将它分发给一些用户(和开发人员)。我想减少运行程序所需的步骤数量。
我的用例相对简单。我想要流程/工具/无论如何:
A)下载应用程序运行所需的软件包列表。
B)按顺序运行python脚本列表(例如创建数据库,然后运行迁移)。
我知道distlib已经做了一些。但是我发现文档有点令人困惑,似乎有一个安装脚本的API,而不是自动执行它们的API。
理想情况下,我会指定一个脚本列表和一个依赖项列表,让程序自动安装它们。
答案 0 :(得分:1)
解决此问题的最佳方法可能是将make
与Makefile(https://www.gnu.org/software/make/)一起使用。
通过setup.py文件,Distlib可以通过为某些python脚本命名来帮助你使其更具可读性。您可以使用make
目标/依赖关系系统来顺序执行任务。
如果你想坚持使用python,你也可以使用Luigi(https://luigi.readthedocs.io/en/stable/),但这似乎有点过分了。
答案 1 :(得分:0)
好的,所以我根据我希望界面的外观来结束我自己的事情。安装应用程序的代码如下所示:
window.getElements = function(selector,cb) {
var selectors = document.querySelectorAll(selector);
[].forEach.call(selectors, cb);
};
getElements(".something", function(el){el.innerHTML = "ha"});
getElements("#one", function(el){el.style.background = "red" });
完整的脚本可以在这里找到:https://gist.github.com/fdemian/808c2b95b4521cd87268235e133c563f
由于PIP没有公共API(and isn't likely to have one in the near future),脚本使用子进程API来调用:
pip install -r [requirements_file_path]
之后,它逐个调用指定的python脚本。虽然它可能不是一个非常强大的,作为权宜之计的解决方案似乎可以解决这个问题。