VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 2
声望: 0

配置mySQL数据库全局参数后启动【交易】时发生异常peewee.ImproperlyConfigured: MySQL driver not installed!
截图如下:

description

本机安装了mySQL数据库,数据库连接测试正常,如图:

description

全局配置按使用文档说明的配置如下:

description

报错信息如下:
2025-09-28 17:11:32.664 | CRITICAL | Logger | Main thread exception
Traceback (most recent call last):

File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code

File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 38, in <module>

File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 29, in run_trader

File "D:\veighna_studio\Lib\site-packages\vnpy\trader\engine.py", line 127, in add_app
engine: BaseEngine = self.add_engine(app.engine_class)
│ │ │ └ <class 'vnpy_ctabacktester.engine.BacktesterEngine'>
│ │ └ <vnpy_ctabacktester.CtaBacktesterApp object at 0x000001D29315ACF0>
│ └ <function MainEngine.add_engine at 0x000001D28D641080>
└ <vnpy.trader.engine.MainEngine object at 0x000001D28E6E9550>
File "D:\veighna_studio\Lib\site-packages\vnpy\trader\engine.py", line 98, in add_engine
engine: EngineType = engine_class(self, self.event_engine) # type: ignore
│ │ │ └ <vnpy.event.engine.EventEngine object at 0x000001D28E6E9160>
│ │ └ <vnpy.trader.engine.MainEngine object at 0x000001D28E6E9550>
│ └ <vnpy.trader.engine.MainEngine object at 0x000001D28E6E9550>
└ <class 'vnpy_ctabacktester.engine.BacktesterEngine'>
File "D:\veighna_studio\Lib\site-packages\vnpy_ctabacktester\engine.py", line 49, in init
self.database: BaseDatabase = get_database()
│ └ <function get_database at 0x000001D293307BA0>
└ <vnpy_ctabacktester.engine.BacktesterEngine object at 0x000001D294747620>
File "D:\veighna_studio\Lib\site-packages\vnpy\trader\database.py", line 158, in get_database
database = module.Database()
│ └ <class 'vnpy_mysql.mysql_database.MysqlDatabase'>
└ <module 'vnpy_mysql' from 'D:\veighna_studio\Lib\site-packages\vnpy_mysql\init.py'>
File "D:\veighna_studio\Lib\site-packages\vnpy_mysql\mysql_database.py", line 168, in init
self.db.connect()
│ │ └ <function Database.connect at 0x000001D294D1ED40>
│ └ <vnpy_mysql.mysql_database.ReconnectMySQLDatabase object at 0x000001D294AF9010>
└ <vnpy_mysql.mysql_database.MysqlDatabase object at 0x000001D294C9D940>
File "D:\veighna_studio\Lib\site-packages\peewee.py", line 3192, in connect
self._state.set_connection(self._connect())
│ │ │ │ └ <function MySQLDatabase._connect at 0x000001D294D28EA0>
│ │ │ └ <vnpy_mysql.mysql_database.ReconnectMySQLDatabase object at 0x000001D294AF9010>
│ │ └ <function _ConnectionState.set_connection at 0x000001D294D1E480>
│ └ <peewee._ConnectionLocal object at 0x000001D294BF2810>
└ <vnpy_mysql.mysql_database.ReconnectMySQLDatabase object at 0x000001D294AF9010>
File "D:\veighna_studio\Lib\site-packages\peewee.py", line 4148, in _connect
raise ImproperlyConfigured('MySQL driver not installed!')
└ <class 'peewee.ImproperlyConfigured'>

peewee.ImproperlyConfigured: MySQL driver not installed!
2025-09-28 17:15:46.223 | CRITICAL | Logger | Main thread exception
Traceback (most recent call last):

File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code

File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 38, in <module>

File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 29, in run_trader

File "D:\veighna_studio\Lib\site-packages\vnpy\trader\engine.py", line 127, in add_app
engine: BaseEngine = self.add_engine(app.engine_class)
│ │ │ └ <class 'vnpy_ctabacktester.engine.BacktesterEngine'>
│ │ └ <vnpy_ctabacktester.CtaBacktesterApp object at 0x000001FE2B52ACF0>
│ └ <function MainEngine.add_engine at 0x000001FE25A01080>
└ <vnpy.trader.engine.MainEngine object at 0x000001FE26AB9550>
File "D:\veighna_studio\Lib\site-packages\vnpy\trader\engine.py", line 98, in add_engine
engine: EngineType = engine_class(self, self.event_engine) # type: ignore
│ │ │ └ <vnpy.event.engine.EventEngine object at 0x000001FE26AB9160>
│ │ └ <vnpy.trader.engine.MainEngine object at 0x000001FE26AB9550>
│ └ <vnpy.trader.engine.MainEngine object at 0x000001FE26AB9550>
└ <class 'vnpy_ctabacktester.engine.BacktesterEngine'>
File "D:\veighna_studio\Lib\site-packages\vnpy_ctabacktester\engine.py", line 49, in init
self.database: BaseDatabase = get_database()
│ └ <function get_database at 0x000001FE2B6D7BA0>
└ <vnpy_ctabacktester.engine.BacktesterEngine object at 0x000001FE2CB13620>
File "D:\veighna_studio\Lib\site-packages\vnpy\trader\database.py", line 158, in get_database
database = module.Database()
│ └ <class 'vnpy_mysql.mysql_database.MysqlDatabase'>
└ <module 'vnpy_mysql' from 'D:\veighna_studio\Lib\site-packages\vnpy_mysql\init.py'>
File "D:\veighna_studio\Lib\site-packages\vnpy_mysql\mysql_database.py", line 168, in init
self.db.connect()
│ │ └ <function Database.connect at 0x000001FE2D0EED40>
│ └ <vnpy_mysql.mysql_database.ReconnectMySQLDatabase object at 0x000001FE2CEC9010>
└ <vnpy_mysql.mysql_database.MysqlDatabase object at 0x000001FE2D06D940>
File "D:\veighna_studio\Lib\site-packages\peewee.py", line 3192, in connect
self._state.set_connection(self._connect())
│ │ │ │ └ <function MySQLDatabase._connect at 0x000001FE2D0F8EA0>
│ │ │ └ <vnpy_mysql.mysql_database.ReconnectMySQLDatabase object at 0x000001FE2CEC9010>
│ │ └ <function _ConnectionState.set_connection at 0x000001FE2D0EE480>
│ └ <peewee._ConnectionLocal object at 0x000001FE2CFC2810>
└ <vnpy_mysql.mysql_database.ReconnectMySQLDatabase object at 0x000001FE2CEC9010>
File "D:\veighna_studio\Lib\site-packages\peewee.py", line 4148, in _connect
raise ImproperlyConfigured('MySQL driver not installed!')
└ <class 'peewee.ImproperlyConfigured'>

peewee.ImproperlyConfigured: MySQL driver not installed!

Member
avatar
加入于:
帖子: 2
声望: 0

已解决!
原因是Oracle官方提供的 mysql-connector-python 并不是 Peewee官方支持的驱动,所以在安装mySQL时或者后期即使安装了connector-python也仍然会报错!所以必须额外安装驱动!亲测安装pymysql包可解决!
安装方法:在【投研】菜单启动jupyter后,执行下面这行代码,安装很快!
pip install pymysql

description

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】