1 回答
TA贡献1835条经验 获得超7个赞
一般来说,为您的用户进行安装更改是一个坏主意。他们的系统由他们控制,如果他们决定不想安装额外的软件包,因此无法使用您的脚本,这通常由他们决定。
sudo对他们使用是一个更糟糕的想法,可能会被检测为攻击。如果你在你的代码和sudo rm -r他们的硬盘上犯了一些奇怪的错误怎么办?尊重权限层次结构 - 全局安装取决于超级用户,本地安装并且运行脚本取决于用户,并且脚本承诺完成的工作完全取决于您 - 满足所有要求(即也应该列出)。
在import本身并不在Makefile中完成,但在你的Python脚本。那就是我会检测它的地方,并产生错误通知用户他们需要做什么。所以在你的脚本中,我会有类似的东西:
try:
import xslwriter
#Add as as many imports as you would like to check for.
except ModuleNotFoundError as e:
print("-E- Failed to import prerequisite {}. Please install prior to running this script.".format(e.name))
exit(1)
您也可以print提供安装建议(检测os并决定您是否建议yum或apt(如果是 Linux 风格而不是 Windows),使用pip哪个总是有效等)。
exit(1)表示您的程序因错误而停止,并且 Makefile 配方也会失败。这样,脚本会正确发出警告,并且也可以独立运行。
添加回答
举报