Python使用Pyinstaller打包obspy模块,运行报错的问题

新增模块:

import requests #新增
import matplotlib #新增

二、修改obspy模块的源码,路径在

自己安装的Python路径下\Lib\site-packages\obspy\imaging\cm.py

修改1:大概237行

    directory = Path(inspect.getfile(
                                     inspect.currentframe()))
     
     
     
    #在上面这行下面添加这三句
    import os
    import obspy
    #directory = Path(os.path.dirname(obspy.__file__)+r'\imaging\cm.py')
    directory = Path(os.path.dirname(obspy.__file__)+r'\imaging\data')

修改2:大概283

    cm_file_pattern = str(cm_file_pattern.parent.resolve()/"data" / "*.np[yz]")
        
     
    #在上面这行下面添加这三句
    import obspy
    import os
    cm_file_pattern = os.path.dirname(obspy.__file__)+r'\imaging\data\*.np[yz]'

三、执行pyinstaller命令的时候,会默认生成一个spec文件,通过记事本打开,编辑这个文件

需要添加的内容我在代码中已经标注了

    import os
    import obspy
    dirname = os.path.dirname(os.path.dirname(obspy.__file__))
    data_list = [(dirname+'\\'+x,x) for x in os.listdir(dirname) if '-info' in x] + [(dirname+'\\'+x,x) for x in os.listdir(dirname) if 'obspy' in x]
    ####添加上面这几句
     
    a = Analysis(
        ['test.py'],
        pathex=[],
        binaries=[],
        datas=data_list , ####这句要更改
        hiddenimports=[],
        hookspath=[],
        hooksconfig={},
        runtime_hooks=[],
        excludes=[],
        noarchive=False,
        optimize=0,
    )
    pyz = PYZ(a.pure)

四、执行pyinstaller

pyinstaller test.spec

可以正常运行了

一些特殊情况需要把data的数据复制到obspy\imaging\cm.py目录中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值