新增模块:
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目录中,