以我的打包语句为例:
pyinstaller.exe -F main.py
如果类似如上,会提示找不到dll(mini_racer.dll)
pyinstaller.exe -F main.py --add-data D:\Python\Python310\Lib\site-packages\py_mini_racer\mini_racer.dll;.
但是如上,还是会提示akshare\file_fold\calendar.json找不到
直接修改akshare的源码
Lib\site-packages\akshare\futures\cons.py
import sys
def get_calendar():
"""
获取交易日历, 这里的交易日历需要按年更新, 主要是从新浪获取的
:return: 交易日历
:rtype: json
"""
setting_file_name = "calendar.json"
if sys.gettrace():
setting_file_path = get_json_path(setting_file_name, __file__)
else:
setting_file_path = os.path.join(os.getcwd(), 'akshare', 'file_fold', setting_file_name)
with open(setting_file_path, "r") as f:
data_json = json.load(f)
return data_json
如上将get_json_path这一行屏蔽,直接指定完整的calendar.json路径,我是将akshare文件夹拷贝到exe所在目录。