You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Python项目创建含Python及依赖自动安装的安装程序?

最优实现方案

一、先补全准确的依赖清单

pipreqs漏抓依赖是常见问题,尤其是标准库或间接依赖,按以下方式修正:

  • 手动核对补全:遍历项目所有.py文件,把所有第三方库(非Python标准库)列出来,比如import cv2对应opencv-python,import numpy对应numpy,直接添加到requirements.txt;像tkinter这类标准库,部分精简版Python可能缺失,可在清单里加tk(pip安装时会自动处理)。
  • 用虚拟环境生成干净清单:
    1. 建虚拟环境:python -m venv venv
    2. 激活环境:venv\Scripts\activate(Windows)
    3. 手动安装项目所有必需依赖
    4. 导出清单:pip freeze > requirements.txt
      这种方式生成的清单没有多余包,绝对准确。

二、自动化安装方案(U盘便携版)

方案1:批处理脚本(.bat)—— 零额外工具

把Python安装包、项目文件和批处理脚本放U盘,用户双击即可完成安装:

  1. U盘文件结构:
    U盘根目录/
    ├─ python-installer/
    │  └─ python-3.10.11-amd64.exe  # 下载对应系统的Python离线安装包
    ├─ my-project/
    │  ├─ main.py
    │  ├─ requirements.txt
    │  └─ 所有子文件夹和脚本
    └─ install.bat
    
  2. 编写install.bat脚本:
    @echo off
    chcp 65001 >nul  # 解决中文乱码问题
    
    echo 正在安装Python...
    start /wait python-installer/python-3.10.11-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
    # /quiet 静默安装;InstallAllUsers=1 全局安装;PrependPath=1 自动加PATH;Include_test=0 跳过测试文件
    
    echo 正在升级pip...
    python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    echo 正在安装项目依赖...
    cd my-project
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    echo 安装完成!双击my-project/main.py即可启动项目。
    pause
    
    如果要离线安装依赖,提前用pip download -r requirements.txt -d ./deps把依赖包下载到U盘的deps文件夹,然后把pip安装命令改成:pip install -r requirements.txt --no-index --find-links=../deps,无需联网就能安装。

方案2:Inno Setup制作单EXE安装包—— 更专业友好

生成单个EXE文件,用户双击即可完成Python、依赖、项目的全量安装,还能创建桌面快捷方式:

  1. 下载安装Inno Setup,新建脚本文件
  2. 核心脚本内容:
    [Setup]
    AppName=我的Python项目
    AppVersion=1.0
    DefaultDirName={userdocs}/MyPythonProject
    DefaultGroupName=MyPythonProject
    OutputDir=U盘根目录
    OutputBaseFilename=ProjectInstaller
    Compression=lzma2/ultra
    
    [Files]
    ; 复制Python安装包到临时目录,安装后自动删除
    Source: "python-installer/python-3.10.11-amd64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
    ; 复制项目所有文件到安装目录
    Source: "my-project\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs
    
    [Run]
    ; 静默安装Python
    Filename: "{tmp}\python-3.10.11-amd64.exe"; Parameters: "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0"; StatusMsg: "正在安装Python..."
    ; 升级pip
    Filename: "python.exe"; Parameters: "-m pip install --upgrade pip"; StatusMsg: "正在升级pip..."
    ; 安装项目依赖
    Filename: "pip.exe"; Parameters: "install -r ""{app}\requirements.txt"""; WorkingDir: "{app}"; StatusMsg: "正在安装项目依赖..."
    
    [Icons]
    ; 创建桌面快捷方式,直接启动main.py
    Name: "{userdesktop}\启动我的项目"; Filename: "{app}\main.py"; WorkingDir: "{app}"
    
  3. 点击编译按钮,生成单个EXE文件放U盘,用户双击即可完成所有安装。

内容的提问来源于stack exchange,提问作者new_coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:25:20