CTP For Python

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

posted @   shclbear  阅读(552)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示