我已经有很多关于 Pyinstaller 和其他文档,但我发现的只是将单个 .py 模块转换为可执行文件的方法。
我有一个Python应用程序结构为:
bbdatasync/
__init__.py
__main__.py
bootstrap.py
config/
default.conf
definitions/
__init__.py
ftp.py
acetools.py
configuration.py
database.py
sendemail.py
当我将包作为python bbdatasync执行时,__main__.py
会运行,它使用所有其他文件并从default.conf
文件中获取配置设置。
我需要将此包打包到一个带有外部 default.conf
文件的独立应用程序中,可以更改该文件来配置应用程序。
我已经阅读了一些有关打包的文档,但没有一个告诉我如何打包一组模块而不仅仅是一个模块的东西。我什至尝试使用 pyinstaller 但我无法让它接受整个包。
该应用程序应该仅在 Linux 上运行。
我还阅读了有关卡住的内容,如果我可以使用它,那就太好了,因为它将打包所有依赖项,包括解释器(是这样吗?),但我还是无法让它卡住整个包!
最佳答案
解决了!
我只是在 python 的 site-package 目录中添加了我的包的路径,然后编写了使用该包来完成我的任务的主脚本。然后,我使用 pyinstaller 制作此主脚本的二进制文件,它自动包含并编译了包含我创建的这个包的所有依赖项。
我基本上复制了__main__.py
,因为它包含执行最终任务的所有代码。像魅力一样工作:)
如果大家有什么建议或者更好的方法,请提出!
关于python - 将 Python 包转换为独立应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112211/