鱼C论坛

 找回密码
 立即注册
查看: 3446|回复: 6

[已解决]python打包akshare出错怎么解决

[复制链接]
发表于 2022-9-17 08:59:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
就是程序里面需要用到akshare来获取数据, 但是程序写好后pyinstaller打包好后点开生成好的软件会报错, 后面试了一下, 哪怕程序里只有import akshare as ak一句代码也会报错

import akshare as ak
print(123)

哪位大佬帮忙解决一下, 上面两句代码生成一个.exe文件, 并成功输出123,
最佳答案
2022-10-18 11:50:42
本帖最后由 cjh4312@163.com 于 2022-10-18 11:59 编辑

我和你遇到同样的问题。问题呢,我估计还是akshare,它也用到了好多第三方库,打包的时候这些库并没有打包进来。
你把cattr和cattrs复制进来,包括akshare本身也复制过来。就ok了。
第一个问题(py_mini_racer)缺的也是第三方库。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-17 09:38:21 | 显示全部楼层
报什么错,贴出来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-17 09:48:06 | 显示全部楼层
ZhKQYu 发表于 2022-9-17 09:38
报什么错,贴出来看看

第一个错通过https://blog.csdn.net/rainolt/article/details/121449660教的方法解决了, 后面又出来一个错:
Traceback (most recent call last):
  File "test_5.py", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "akshare\__init__.py", line 2843, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "akshare\index\index_kq_fz.py", line 11, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "akshare\utils\ak_session.py", line 8, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "requests_cache\__init__.py", line 7, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "requests_cache\backends\__init__.py", line 7, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "requests_cache\backends\base.py", line 18, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "requests_cache\serializers\__init__.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
  File "requests_cache\serializers\preconf.py", line 122, in <module>
  File "requests_cache\serializers\pipeline.py", line 44, in __init__
  File "requests_cache\serializers\pipeline.py", line 44, in <listcomp>
AttributeError: type object 'Placeholder' has no attribute 'loads'
[6720] Failed to execute script 'test_5' due to unhandled exception!

这个找不到解决的方法了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-17 11:00:11 | 显示全部楼层
月下孤井 发表于 2022-9-17 09:48
第一个错通过https://blog.csdn.net/rainolt/article/details/121449660教的方法解决了, 后面又出来一个 ...

要不发一下源码 我打包试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-17 16:47:15 | 显示全部楼层
ZhKQYu 发表于 2022-9-17 11:00
要不发一下源码 我打包试试

import akshare as ak
import datetime
import pandas as pd
def get_start_date():
    time_year = datetime.datetime.now().year
    time_year_start = datetime.datetime.now().year - 1
    time_month = str(datetime.datetime.now()).split()[0].split('-')[1]
    time_day = str(datetime.datetime.now()).split()[0].split('-')[2]
    return str(time_year_start) + time_month + time_day, str(time_year) + time_month + time_day
def get_A_code():
    shanghai_A_code = ak.stock_sh_a_spot_em()
    shanghai_A_code.dropna(inplace=True)
    shanghai_A_code = shanghai_A_code[['代码', '名称']]
    shanghai_A_code = shanghai_A_code[shanghai_A_code['代码'].str[0:2] != '68']
    shenzhen_A_code = ak.stock_sz_a_spot_em()
    shenzhen_A_code.dropna(inplace=True)
    shenzhen_A_code = shenzhen_A_code[['代码', '名称']]
    shenzhen_A_code = shenzhen_A_code[shenzhen_A_code['代码'].str[0:2] != '30']
    A_code = pd.concat([shanghai_A_code, shenzhen_A_code], ignore_index=True)
    return A_code
def parse_code_month(stock_code):
    df = ak.stock_zh_a_hist(symbol=stock_code, period="monthly", start_date=get_start_date()[0], end_date=get_start_date()[1], adjust="qfq")[['日期', '开盘', '收盘', '最高', '最低', '涨跌幅']]
    df['代码'] = stock_code
    df.set_index('代码', inplace=True)
    df.to_csv(r'股票数据.csv', encoding='ANSI', mode='a', header=False)
    print(df)
if __name__ == '__main__':
    for stock_code in get_A_code()['代码'].tolist():
        parse_code_month(stock_code)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-18 11:50:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 cjh4312@163.com 于 2022-10-18 11:59 编辑

我和你遇到同样的问题。问题呢,我估计还是akshare,它也用到了好多第三方库,打包的时候这些库并没有打包进来。
你把cattr和cattrs复制进来,包括akshare本身也复制过来。就ok了。
第一个问题(py_mini_racer)缺的也是第三方库。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-18 18:49:59 | 显示全部楼层
好的,谢谢,我试一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 05:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表