python模块,允许打包的模块作为脚本正常运行
PkgScript的Python项目详细描述
pkgscript(0.4版)
python模块,允许打包的模块作为脚本正常运行。
它将封闭包导入到脚本中,允许脚本 从同一个包系列导入其他模块(使用显式相对或 绝对进口声明)。
!!!import_parent_packages()
必须在任何同级包导入之前调用
啊!!!
示例:
milo.mod_script.py
importpkgscript# Only call function if module is being run as a scriptif(__name__=="__main__")and(__package__isNone):pkgscript.import_parent_packages("Milo",globals())fromMilo.versionimport__version__from.versionimport__version__# same as previous line
top_pkg.sub_pkg.sub_sub_pkg.mod_script.py
importpkgscript# Only call function if module is being run as a scriptif(__name__=="__main__")and(__package__isNone):pkgscript.import_parent_packages("top_pkg.sub_pkg.sub_sub_pkg",globals())# Import top_pkg.sub_pkg.other_modulefromtop_pkg.sub_pkgimportother_modulefrom..importother_module# same as previous linefrom...sub_pkgimportother_module# same as previous line
学分
此软件改编自@vaultah发布的有用代码
(https://gist.github.com/vaultah/d63cb4c86be2774377aa674b009f759a)
回答堆栈溢出问题
(https://stackoverflow.com/a/28154841/9639441)
许可证
这个软件是根据麻省理工学院的许可证(mit)发布的。
版权所有(c)2018,Padraic Shafer
特此免费向任何获得 本软件和相关文档文件的副本(“软件”), 不受限制地使用软件,包括但不限于 使用、复制、修改、合并、发布、分发、再授权, 和/或出售软件副本,并允许 为此提供的软件必须满足以下条件:
上述版权公告及本许可公告须包括在 软件的所有副本或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,不论是在合同诉讼、侵权诉讼或其他诉讼中产生的 来自、脱离或与软件、使用或其他有关 软件交易。