如何为Python项目制作一个独立的安装程序,其中包括Python安装

问题描述

我有一个Python项目,该项目具有以下目录和文件

PythonProject
    -> configs
        -> appconfig.json
    -> logs
        -> applog.log
    -> output
        -> output file1
        -> output file2
    -> src
        -> file1.py
        -> file2.py
        -> file3.py 
    app.py 

我有app.py,这是项目的主要起点。它取决于src中的Python文件,还取决于configslogsoutput目录。

我想为此创建一个安装程序,以便我们有setup.exe用户可以运行,并且所有文件和目录都存储在Program Files中。通过在pyinstaller上使用app.py可以做到这一点,其余的Python文件可以转换为二进制文件。最后,我可以使用Inno Setup打包所有内容并创建setup.exe

但是问题是整个应用程序都是使用Python构建的,并且打算使用它的用户不知道如何安装Python及其软件包。因此,我正在寻找一种解决方案,其中还可以打包Python安装程序,以便用户安装软件后,先安装Python,然后再安装相关的Python包,然后再安装我们的项目。我该如何实现?有人可以指导我吗?

解决方法

PyInstaller已经包含Python:
https://pyinstaller.readthedocs.io/en/stable/operating-mode.html

然后,它会收集所有这些文件的副本– 包括活动的Python解释器! –并将它们与脚本一起放在单个文件夹或可选的单个可执行文件中。