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

标签 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 上运行。

我还阅读了有关卡住的内容,如果我可以使用它,那就太好了,因为它将打包所有依赖项,包括解释器(是这样吗?),但我还是无法让它卡住整个包!

最佳答案

解决了!

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

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

如果大家有什么建议或者更好的方法,请提出!

关于python - 将 Python 包转换为独立应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112211/

相关文章:

python 输入 : result depending on arguments

Python从更高级别的包导入模块

linux - Makefile:在 linux 上构建 c++ 文件,无法在 opencv 2.4.6 中找到 cuda 库

linux - db2 上的 Bash 脚本

python - python包的适当权限

python - 将嵌套列表拆分为 DataFrame

python - 使用新行读取 csv 文件

java - 使用 java 中的进程构建器在 linux 上执行海关命令

linux - 如何为依赖于不受支持的官方包版本的项目创建 deb 二进制包

python - 如何创建 python 2.x 包 - 简单案例