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

PyInstaller打包的Python exe无法启动,提示CITATION.rst文件不存在

解决PyInstaller打包exe时找不到photutils CITATION.rst的问题

问题原因

PyInstaller打包时未自动包含photutils所需的CITATION.rst文件,程序运行时photutils会尝试读取该文件,导致路径错误。

解决方案

方案1:打包时用--add-data参数指定文件

  1. 先找到photutils的安装路径:
    在命令行执行:

    pip show photutils
    

    输出中的Location字段就是安装目录,进入该目录找到CITATION.rst文件(通常直接在photutils根目录下)。

  2. 执行打包命令(Windows系统):

    pyinstaller --add-data "完整路径/photutils/CITATION.rst;photutils" 你的脚本名.py
    

    (Mac/Linux系统将分号;换成冒号:)

方案2:修改spec文件打包

  1. 先生成spec文件:
    pyinstaller 你的脚本名.py
    
  2. 打开生成的你的脚本名.spec文件,找到datas列表,添加文件路径:
    datas=[('完整路径/photutils/CITATION.rst', 'photutils')],
    
  3. 用spec文件重新打包:
    pyinstaller 你的脚本名.spec
    

方案3:使用PyInstaller钩子文件

  1. 创建一个名为hook-photutils.py的文件,内容如下:
    from PyInstaller.utils.hooks import collect_data_files
    datas = collect_data_files('photutils')
    
  2. 打包时指定钩子目录:
    pyinstaller --additional-hooks-dir=. 你的脚本名.py
    
    (钩子文件要和脚本放在同一目录)

注:之前设置photutils.__citation__ = None无效,是因为该文件的读取逻辑在导入photutils.detection等子模块时触发,而非主模块导入阶段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 12:42:04