我的请求似乎不太正常,但我想快速打包一个旧的存储库,它主要由python可执行脚本组成
问题是,这些脚本不是作为模块设计的,因此其中一些脚本直接在模块顶层执行代码,而另一些脚本则具有if __name__=='__main__'
部分
如何使用setuptools分发这些脚本,而不需要太多重写
setup()
的^{main()
函数,这也是因为有些脚本调用对全局变量有副作用的奇怪递归函数,所以我有点害怕破坏某些东西李>"myscript=mypkg.myscript"
而不是"myscript=mypkg.myscript:main"
)时,它会在安装后在逻辑上抱怨模块不可调用李>有没有办法从模块中创建脚本?至少当他们有一个if __name__=='__main__'
的时候
我刚刚意识到答案的一部分:
如果模块在顶层执行所有操作,即导入时,那么可以定义一个伪“no op”
main
函数,如下所示:这个解决方案仍然会迫使我将这一行添加到现有的脚本中,但我认为这是一个快速但谨慎的解决方案
如果代码在
if __name__=='__main__'
下,则没有解决方案相关问题 更多 >
编程相关推荐