0

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

我也读过关于 freeze 的文章,如果我可以使用它会很棒,因为它会打包所有依赖项,包括解释器(是这样吗?)但我又不能让它冻结整个包!

4

1 回答 1

0

解决了!

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

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

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

于 2013-06-16T19:48:31.763 回答