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位
- 下载源码
我们下载源码到本地进行解压,如下图所示:
- 进行编译
通过开始菜单,找到Visual Studio 2010的Visual Studio Tools,本机python版本为python 3.4 32bit,故采用x86命令行。其实有些根本不用进入Visual编译环境,直接编译即可python setup.py build
编译命令为
python setup.py build
问题1:
这个时候我使用的是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 格式以防止数据丢失
如图所示:
那么,此时,一定要处理掉这种情况,否则编译出来的动态链接库无法正常使用,因为乱码会导致程序编译链接出错。
解决办法
将所有报错文件通过Visual Studio打开,文件菜单高级保存,选择GB2312编码进行保存。
然后重新编译即可,正常情况应该如下图所示:
成功编译后,我们会在build目录下生成三个文件夹,将lib目录中生成的pyd拷贝至scripts目录,将所依赖的CTP Dll拷贝至scripts目录,如下图所示:
然后修改test_PyCTP.py文件中main方法的期货账号,密码,然后运行即可开始开发测试。
为了方便起见,可以将PYCTP直接放置python3.4的第三方库文件夹中,这样可以直接调用
以后使用起来非常方便,如:
标签:CTP,Python,32,py,python,编译,Visual,Studio From: https://www.cnblogs.com/shclbear/p/16706912.html