-
Notifications
You must be signed in to change notification settings - Fork 185
Description
执行命令:finhack factor run --task_list=all
会因为没有finhackcn数据库报错。如果将indicators/myfactors.py里面的db='finhackcn'改为finhack, 再执行,会遇到表不存在的问题:
2025-04-06T17:01:16.077832+0800 - finhack.factor.default.indicatorCompute - INFO - computeListByStock---000001.sz
2025-04-06T17:01:16.093781+0800 - finhack.library.monitor - INFO - (1146, "Table 'finhack.stock_finhack_rim' doesn't exist")
2025-04-06T17:01:16.098159+0800 - finhack.library.monitor - INFO - (1146, "Table 'finhack.stock_finhack_rim' doesn't exist")
2025-04-06T17:01:16.103413+0800 - finhack.library.monitor - INFO - (1146, "Table 'finhack.stock_finhack_rim' doesn't exist")
2025-04-06T17:01:16.109025+0800 - finhack.library.monitor - INFO - (1146, "Table 'finhack.stock_finhack_rim' doesn't exist")
遇到错误:
2025-04-06T16:35:19.079689+0800 - finhack.library.monitor - ERROR - getDB:数据库异常,Traceback (most recent call last):
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/library/monitor.py", line 59, in wrapper
res=self.func(*args,**kwargs)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/library/mydb.py", line 30, in getDB
db = pymysql.connect(
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 361, in init
self.connect()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 669, in connect
self._request_authentication()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 979, in _request_authentication
auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/_auth.py", line 241, in caching_sha2_password_auth
pkt = conn._read_packet()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 775, in _read_packet
packet.raise_for_error()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/protocol.py", line 219, in raise_for_error
err.raise_mysql_exception(self._data)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1049, "Unknown database 'finhack.cn'")
2025-04-06T16:35:19.080127+0800 - finhack.library.monitor - ERROR - ("select date,industry,value,value_end,value_max,vp,vep,vmp,rcount from stock_finhack_rim where ts_code='000001.SZ'", 'finhackcn')
2025-04-06T16:35:19.080209+0800 - finhack.library.monitor - ERROR - selectToDf:数据库异常,Traceback (most recent call last):
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/library/monitor.py", line 59, in wrapper
res=self.func(*args,**kwargs)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/library/mydb.py", line 212, in selectToDf
db,cursor = mydb.getDB(connection)
TypeError: cannot unpack non-iterable bool object
^CTraceback (most recent call last):
File "/home/dennis/miniconda3/envs/finhack/bin/finhack", line 8, in
sys.exit(main())
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/core/command/finhack.py", line 44, in main
core.do_action()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/core/core.py", line 244, in do_action
method()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/core/loader/factor_loader.py", line 9, in run
factor.run()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/factor/default/default_factor.py", line 22, in run
taskRunner.runTask(self.args.task_list)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/factor/default/taskRunner.py", line 28, in runTask
c_list = preCheck.checkAllFactors() # chenged factor,代码发生变化
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/factor/default/preCheck.py", line 40, in checkAllFactors
preCheck.checkIndicatorsType(check_list)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/factor/default/preCheck.py", line 175, in checkIndicatorsType
factor_tmp=indicatorCompute.computeListByStock(ts_code=ts_code,df_price=df_tmp,check=True,factor_list=check_list,pure=False,save=False,db='tushare')
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/factor/default/indicatorCompute.py", line 312, in computeListByStock
df_all_tmp = indicatorCompute.computeFactorByStock(ts_code, factor_name, df_all.copy(), where=where, db='factors')
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/factor/default/indicatorCompute.py", line 481, in computeFactorByStock
df=func(df_price,factor)
File "/mnt/3A7EC9C256150D70/projects/projects/finhack_project/indicators/volumeprice.py", line 6, in moneyflow
df_vp=AStock.alignStockFactors(df,'astock_price_moneyflow','trade_date',filed='*',conv=0,db='tushare')
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/market/astock/astock.py", line 33, in dynamic_method
return func(*args, **kwargs)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/market/astock/tushare/astock.py", line 418, in alignStockFactors
df_factor=mydb.selectToDf("select * from "+table+" where ts_code='"+ts_code+"'",db)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/library/monitor.py", line 59, in wrapper
res=self.func(*args,**kwargs)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/finhack/library/mydb.py", line 214, in selectToDf
cursor.execute(sql)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 563, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 825, in _read_query_result
result.read()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 1206, in read
self._read_result_packet(first_packet)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 1283, in _read_result_packet
self._read_rowdata_packet()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 1330, in _read_rowdata_packet
packet = self.connection._read_packet()
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 763, in _read_packet
recv_data = self._read_bytes(bytes_to_read)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/site-packages/pymysql/connections.py", line 782, in _read_bytes
data = self._rfile.read(num_bytes)
File "/home/dennis/miniconda3/envs/finhack/lib/python3.9/socket.py", line 716, in readinto
return self._sock.recv_into(b)
KeyboardInterrupt