Win7安装好quantaxis后无法使用的问题[建议大家直接上win10]
发布于 7 个月前 作者 J-1n 376 次浏览 最后一次编辑是 6 个月前 来自 问答

首先感谢天哥大德为量化人提供了这么好的一个平台,而且还是100%开源的。然后感谢论坛及群内各路大佬,因为不管是看你们的帖子还是群内的聊天记录,我都能从其中学到新的东西。以前我自己写框架,用pyMongo把数据存到MongoDB,然后做分析。在听闻了QA并通宵读了官方document之后,果断弃坑,开始用起了QA。目前在Win10上能正常使用QA,但问题是,我另一台Win7电脑用不了,在经过一段时间的自查与网上搜索之后,仍未能解决问题,故在此提问,望大佬慷慨相助为谢! ------------------------------------------下面进入正题---------------------------------------- 1、电脑是Win7 SP1 64位 旗舰版, CPU是i7系列,内存是16GB,SSD空间充足。 2、电脑已经安装Anaconda3 64位、MongoDB4.2版64位、及QA所需的其他依赖库(pytdx、tushare等,且已更新至目前最新版) 3、QuantAxis的安装经过: (1)由于之前根据教程一步一步的在win10上装好了并已投产,所以这次在win7上安装的时候,以管理员身份运行了cmd并pip install quantaxis -i https://pypi.doubanio.com/simpl,毕竟国内镜像更快。 (2)查看了安装的log,全程无报错,因为依赖库都有,所以除了下载quantaxis本身,其他所有的库在安装的时候都返回的是requirement already satisfied.最后返回Successfully installed quantaxis-1.6.12 (3)根据教程在D盘下创建了data\data和data\log,并且执行了mongod.exe --dbpath D:\data\data --logpath D:\data\log\mongo.log --httpinterface --rest --serviceName 'MongoDB' --installnet start MongoDB,返回:请求的服务已经启动。 按理说到了这里就算是能用了,进QA去save allsave bla bla bla就行了。但是在cmd中输入quantaxis之后,却报错AttributeError: type object 'ClientSession' has no attribute 'in_transaction',在jupyter notebook中import QA也是得到同样的报错信息,详情如下: (而且我试过了卸载quantaxis, 不用国内镜像,直接用pip install quantaxis,成功安装完后还是用不了)

Installing collected packages: quantaxis
Successfully installed quantaxis-1.6.12

C:\Windows\system32>quantaxis
Traceback (most recent call last):
 File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_mai

    "__main__", mod_spec)
  File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Anaconda3\Scripts\quantaxis.exe\__main__.py", line 5, in
<module>
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\__init__.py", line
42, in <module>
    import QUANTAXIS.QACmd
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QACmd\__init__.py"
 line 35, in <module>
    from QUANTAXIS.QACmd.runner import run_backtest, run
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QACmd\runner.py",
line 5, in <module>
    from QUANTAXIS.QAUtil.QALogs import QA_util_log_info
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QAUtil\__init__.py
, line 41, in <module>
    from QUANTAXIS.QAUtil.QADate import (QA_util_calc_time, QA_util_date_int2st
,
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QAUtil\QADate.py",
line 31, in <module>
    from QUANTAXIS.QAUtil.QALogs import QA_util_log_info
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QAUtil\QALogs.py",
line 41, in <module>
    from QUANTAXIS.QAUtil.QASetting import QA_Setting
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QAUtil\QASetting.p
", line 30, in <module>
   from QUANTAXIS.QAUtil.QASql import (
  File "c:\programdata\anaconda3\lib\site-packages\QUANTAXIS\QAUtil\QASql.py",
line 26, in <module>
    from motor.motor_asyncio import AsyncIOMotorClient
  File "c:\programdata\anaconda3\lib\site-packages\motor\__init__.py", line 39,
in <module>
    from .motor_tornado import *
  File "c:\programdata\anaconda3\lib\site-packages\motor\motor_tornado.py", line
 34, in <module>
    MotorClientSession = create_motor_class(core.AgnosticClientSession)
  File "c:\programdata\anaconda3\lib\site-packages\motor\motor_tornado.py", line
 28, in create_motor_class
    'motor.motor_tornado')
  File "c:\programdata\anaconda3\lib\site-packages\motor\metaprogramming.py", li
ne 312, in create_class_with_framework
    new_class_attr = attr.create_attribute(new_class, name)
  File "c:\programdata\anaconda3\lib\site-packages\motor\metaprogramming.py", li
ne 221, in create_attribute
    doc = getattr(cls.__delegate_class__, attr_name).__doc__
AttributeError: type object 'ClientSession' has no attribute 'in_transaction'

C:\Windows\system32>

望大佬慷慨相助为谢!

4 回复

pymongo 版本太低 pip install pymongo==3.9.0

@yutiansut 谢了,天哥。不过cmd返回Requirement already satisfied: pymongo==3.9.0 in c:\programdata\anaconda3\lib\site-packages <3.9.0> 不再劳烦您费心在这种小问题上了,我也不折腾了,直接换成win10系统一了百了。 snap.PNG

先验证一下mongodb是否正常呢。运行下mongo客户端命令,show dbs看看能不能看到一些默认的数据库

@zhangshoug 能看到。谢了兄弟,我不折腾了,已换win10

回到顶部