Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Python包转换为独立应用程序_Python_Linux_Packaging_Pyinstaller - Fatal编程技术网

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

将Python包转换为独立应用程序,python,linux,packaging,pyinstaller,Python,Linux,Packaging,Pyinstaller,我在Pyinstaller和其他网站上已经有很多文档,但我所找到的只是将单个.py模块转换为可执行文件的方法 我有一个python应用程序结构,如下所示: bbdatasync/ __init__.py __main__.py bootstrap.py config/ default.conf definitions/ __init__.py ftp.py acetools.py

我在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的形式执行包时,将运行
\uuuu main\uuuuu.py
,它使用所有其他文件,并从
default.conf
文件获取配置设置

我需要将这个包打包成一个独立的应用程序,其中包含外部
default.conf
文件,该文件可以更改以配置应用程序

我已经阅读了一些关于打包的文档,但是没有一个文档告诉我如何打包一组模块,而不仅仅是一个模块。我甚至尝试使用pyinstaller,但我无法让它接受整个软件包

应用程序应该只在linux上运行

我也读过关于冻结的书,如果我能用它来打包所有的依赖项,包括解释器,那就太好了(是吗?),但我还是不能让它冻结整个包

解决了

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

我基本上复制了
\uuuuu main\uuuuuu.py
,因为它拥有完成最后任务的所有代码。像个魔术师一样工作:)

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