首页 > 编程语言 >CTP For Python

CTP For Python

时间:2022-09-19 10:57:00浏览次数:107  
标签:CTP Python 32 py python 编译 Visual Studio

GitHub地址:https://github.com/shizhuolin/PyCTP

这是程序化期货交易上期ctp接口版本.将其包装为python版本. 支持python3 编译需求:vs2010/gcc 编译方法 python setup.py build

PyCTP 编译方法

开发环境:windows 10 64bit, python 3.4.3 32bit, Visual Studio 2013

切记,作者编写的代码应该必须是32位的Python环境,我尝试了各种情况,python3.6-64位,Python2.7-64位,python2.7-32位,都会报各种问题,***是使用Python3版本32位

  • 下载源码 
    我们下载源码到本地进行解压,如下图所示:

CTP For Python

CTP For Python

CTP For Python

  • 进行编译 
    通过开始菜单,找到Visual Studio 2010的Visual Studio Tools,本机python版本为python 3.4 32bit,故采用x86命令行。其实有些根本不用进入Visual编译环境,直接编译即可python setup.py build

CTP For Python

CTP For Python

编译命令为

python setup.py build

CTP For Python

问题1:

CTP For Python

CTP For Python

这个时候我使用的是Python2.7-32位的环境。安装有visual studio 2008,编译之后会自动寻找Microsoft Visual Studio 9.0 

解决:真的需要按照作者意愿来,我又使用Python3版本,安装2010版的visual studio

问题2:

编译中错误处理 
如果遇到如下错误:

error C2447: “{”: 缺少函数标题(是否是老式的形式表?) error: command 'D:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\BIN\\cl.exe' failed with exit status 2

或者

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

如图所示:

CTP For Python

CTP For Python

那么,此时,一定要处理掉这种情况,否则编译出来的动态链接库无法正常使用,因为乱码会导致程序编译链接出错。

解决办法 
将所有报错文件通过Visual Studio打开,文件菜单高级保存,选择GB2312编码进行保存。

CTP For Python

CTP For Python

然后重新编译即可,正常情况应该如下图所示:

CTP For Python

 

 

成功编译后,我们会在build目录下生成三个文件夹,将lib目录中生成的pyd拷贝至scripts目录,将所依赖的CTP Dll拷贝至scripts目录,如下图所示:

CTP For Python

然后修改test_PyCTP.py文件中main方法的期货账号,密码,然后运行即可开始开发测试。

CTP For Python

CTP For Python

为了方便起见,可以将PYCTP直接放置python3.4的第三方库文件夹中,这样可以直接调用

CTP For Python

以后使用起来非常方便,如:

CTP For Python

标签:CTP,Python,32,py,python,编译,Visual,Studio
From: https://www.cnblogs.com/shclbear/p/16706912.html

相关文章

  • 使用脚本修改hosts文件(bat+python)
    使用脚本修改hosts文件(bat+python)一、使用bat脚本方式  使用bat修改hosts文件,首先判断默认路径是否存在,如不存在,手工输入目标文件地址(一般用不着):SEThosts=C:\Windows......
  • CTP API开发期货自动交易平台概论
    题目比较小众,先介绍一下CTP。综合交易平台CTP(ComprehensiveTransactionPlatform)是由上海期货信息技术有限公司(上海期货交易所的全资子公司)开发的期货交易平台,CTP平台以"......
  • 【股票爬虫】我用100行Python代码,爬了雪球网5000只股票,还发现一个网站bug!
    一、爬取目标您好,我是@马哥python说,今天继续分享爬虫案例。爬取网站:雪球网的沪深股市行情数据具体菜单:雪球网>行情中心>沪深股市>沪深一览爬取字段,含:股票代码,......
  • python自动更新pom文件
    前言项目越来越多,版本管理越来越麻烦,在项目上我使用mavenversion来进行版本管理。主要还是在分布式项目中模块众多的场景中使用,毕竟各个模块对外的版本需要保持统一......
  • 崩溃!学了三年Python,这几道面试题还是答不好
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试Python语......
  • python网络爬虫常用解析器
    BeautifulSoupBeautifulSoup是一个HTML/XML的解析器,主要用于解析和提取HTML/XML数据。它基于HTMLDOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,......
  • pythonbiji
     Python基础入门笔记(二)_Jaybo_的博客-CSDN博客Python基础入门笔记(一)-腾讯云开发者社区-腾讯云(tencent.com)......
  • python logging模块
    logging模块处理流程:分为几个模块:logger:最高层模块,用来输出loglogger.level来筛选loglogger.debug()/info()/warning()/error()等输出loghandler:经过logger......
  • python-装饰器
    装饰器什么是装饰器?装饰器本质上是一个Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。装饰器......
  • python爬虫入门笔记(随便记记,持续更新)
    准备:安装库pip3installbeautifulsoup4apt-getinstallpython-lxmlpip3installparse 一、获得从baidu.com中能够跳转到的页面(的链接)importrequests......