将Python包转换为独立应用程序

时间:2013-06-14 15:38:04

标签: python linux packaging pyinstaller

我已经有很多关于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上运行。

我还读过关于冻结的内容,如果我可以使用它会很好,因为它将打包所有依赖项,包括解释器(是这样吗?)但是我再也无法冻结整个包!

1 个答案:

答案 0 :(得分:0)

解决!

我只是在python的site-package目录中添加了一个包到我的包的路径,然后编写了使用这个包来完成任务的主脚本。然后我使用pyinstaller来创建这个主要脚本的二进制文件,它自动包含并编译包含我创建的这个包的所有依赖项。

我基本上复制了__main__.py,因为它拥有执行最终任务的所有代码。像魅力一样工作:)

如果有人有任何建议或更好的方法,请提出建议!