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

如何构建从Poetry开发环境到生产环境的部署工作流?

高效部署工作流方案

方案1:用Poetry打包成可执行文件(推荐)

直接把Python解释器、依赖和代码打包成可执行文件,同事无需安装Python,直接运行即可。

  • 步骤1:安装打包工具
    在开发环境通过Poetry添加依赖:
    poetry add --dev pyinstaller
    
  • 步骤2:修改子进程调用逻辑
    打包后无需再调用外部Python路径,推荐直接导入模块执行,避免路径问题:
    # 替换原来的subprocess调用,假设ixl_grade_input有main入口函数
    import ixl_grade_input
    ixl_grade_input.main()
    
  • 步骤3:执行打包命令
    针对托盘应用生成无命令行窗口的单文件:
    poetry run pyinstaller --onefile --windowed system_tray.py
    
    打包后的可执行文件在dist目录下,直接将该目录发给同事,双击即可运行,还可将快捷方式放入Windows启动文件夹实现开机启动。

方案2:虚拟环境嵌入项目+相对路径调用

将虚拟环境移至项目内部,用相对路径调用,同事无需安装Python即可运行项目。

  • 步骤1:把虚拟环境放到项目目录
    配置Poetry在项目内生成虚拟环境:
    poetry config virtualenvs.in-project true
    
    重新创建虚拟环境并安装依赖:
    poetry env remove python3.11
    poetry install
    
    虚拟环境会生成在项目根目录的.venv文件夹中。
  • 步骤2:修改路径为相对路径
    import os
    # 获取当前脚本所在目录,拼接相对路径
    current_dir = os.path.dirname(os.path.abspath(__file__))
    python_path = os.path.join(current_dir, '.venv', 'Scripts', 'python.exe')
    args = [python_path, 'ixl_grade_input.py']
    subprocess.call(args)
    
  • 步骤3:分发项目
    将整个项目文件夹(包含.venv)压缩后发给同事,直接运行system_tray.py即可。注意:虚拟环境与系统架构、Python版本绑定,需确保同事机器与你的环境一致(如均为Windows 64位)。

方案3:便携Python+requirements.txt

用便携版Python配合依赖清单,避免拷贝大体积虚拟环境。

  • 步骤1:导出依赖清单
    通过Poetry生成requirements.txt:
    poetry export --without-hashes --format=requirements.txt > requirements.txt
    
  • 步骤2:配置便携Python
    从Python官网下载对应版本的便携压缩包(如Windows的embeddable zip file),解压到项目目录的portable_python文件夹。
  • 步骤3:编写自动安装脚本与修改路径
    创建setup.bat自动安装依赖:
    @echo off
    portable_python\python.exe -m pip install -r requirements.txt
    echo 依赖安装完成,按任意键退出
    pause
    
    修改system_tray.py的Python路径:
    import os
    current_dir = os.path.dirname(os.path.abspath(__file__))
    python_path = os.path.join(current_dir, 'portable_python', 'python.exe')
    args = [python_path, 'ixl_grade_input.py']
    subprocess.call(args)
    
  • 步骤4:分发项目
    将项目文件夹(含portable_python、requirements.txt、setup.bat及所有脚本)发给同事,先运行setup.bat安装依赖,之后即可运行system_tray.py,同样可设置开机启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:25:17