龙空技术网

centos6中安装vnpy1.8

软硬门徒 211

前言:

当前兄弟们对“centos7apachesvn”都比较关心,我们都想要学习一些“centos7apachesvn”的相关资讯。那么小编也在网摘上收集了一些对于“centos7apachesvn””的相关资讯,希望大家能喜欢,咱们一起来了解一下吧!

centos6中安装vnpy1.8

# 软件版本

vnpy-1.8

CentOS release 6.8 (Final)

gcc (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5)

Python 2.7.13 :: Anaconda custom (64-bit)

Anaconda2-4.0.0

conda 4.5.10

MongoDB: 2.6.13-pre-

boost_1_68_0

---------------------------

# 安装Python

## 下载 Anaconda2 并安装

``` bash

/cd to/codes/anaconda/

wget

chmod +x Anaconda2-4.0.0-Linux-x86_64.sh

./Anaconda2-4.0.0-Linux-x86_64.sh

```

## Anaconda2 所安装 的 python 路径

``` bash

bin: /root/anaconda2/bin/python

include: /root/anaconda2/include/python2.7

lib: /root/anaconda2/lib/python2.7

```

## 查看 python 的 路径

``` bash

which python

/root/anaconda2/bin/python

```

-------------------------

# snappy 安装

``` bash

yum install -y snappy-devel.x86_64

pip install python-snappy

```

---------------------------

# mongodb 安装 (pymongo(3.7.1) needs mongodb >= 2.6)

``` bash

# 从 github 下载 mongodb2.6

unzip mongo-2.6.zip

cd mongo-2.6

scons mongod

scons mongo

scons --prefix=/opt/mongo install

```

## mongodb 配置

``` bash

vim /etc/mongodb.conf

## /etc/mongodb.conf 的文件内容修改为:

pidfilepath = /var/run/mongodb/mongodb.pid

logpath = /var/log/mongodb/mongodb.log

dbpath =/var/lib/mongodb

journal = true

```

## mongodb 路径

创建数据库的数据路径

``` bash

mkdir -p /data/db

```

## mongodb 的安装路径

mongodb 的安装路径 在

``` bash

bin: /opt/mongo/bin

```

该路径需要添加进去 环境变量 PATH。

可以写入到 /ete/profile 或者 ~/.bashrc。

``` bash

export PATH=/opt/mongo/bin

{PATH}

```

## mongod 的 启动

运行 vnpy 前,运行 mongod 服务。

```

mongod &

```

------------------------------

# boost_1_68_0 安装 (vnpy needs boost >= 1.55)

``` bash

# 下载 boost_1_68_0

# 安装 到 默认路径路径 /usr/local/include , /usr/local/bin

./bootstrap.sh

# 编译和安装最小安装库

./b2 install

ldconfig /usr/local/lib

‵‵‵

## boost 的安装路径

``` bash

include: /usr/local/include/boost

lib: /usr/local/lib

```

-------------------------------

# vnpy1.8 的安装

## 修改 vnpy-1.8 的 CMakeLists.txt

修改 vnpy-1.8的 所有的 CMakeLists.txt

不然 会出现 找不到 boost 和 python 库的问题。

修改所有 CMakeLists.txt 文件:

1 修改 PYTHON_INCLUDE_PATH

* 修改前: PYTHON_INCLUDE_PATH /usr/include/python2.7

* 修改后: PYTHON_INCLUDE_PATH /root/anaconda2/include/python2.7

2 修改 PATHS

* 修改前: PATHS /usr/lib/x86_64-linux-gnu

* 修改后: PATHS /root/anaconda2/lib

也可以用以下脚本修改,项目中 所有的 CMakeLists.txt。

将脚本 放置到 vnpy-1.8 的目录下面。然后运行。

``` bash

#/bin/bash

function main()

{

local files=`target_file_search "CMakeLists.txt"`

if [ $? -ne 0 ]; then

return 1

fi

string_replace "\<python\>" "python27" "${files}"

string_replace "

PYTHON_INCLUDE_PATH \/usr\/include\/python2.7" "

PYTHON_INCLUDE_PATH \/root\/anaconda2\/include\/python2.7" "${files}"

string_replace "

PATHS \/usr\/lib\/x86_64-linux-gnu" "

PATHS \/root\/anaconda2\/lib" "${files}"

return 0

}

function target_file_search()

{

local file_name=$1

files=`find . -name ${file_name}`

if [ $? -ne 0 ]; then

return 1

fi

echo ${files}

return 0

}

function string_replace

{

local patten=$1

local replaced=$2

local files=$3

sed -i "s/${patten}/${replaced}/g" ${files}

return 0

}

main $*

```

后面按照 网上的指引安装 便可。

``` bash

# cd 到 vnpy-1.8 的目录

install.sh

```

-----------------------------------------

# 解决 libta_lib.so 需要 glibc2.14 的问题:

当启动 vnpy 的 程序出现以下问题时。

ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /root/anaconda2/lib/python2.7/site-packages/talib/../../../libta_lib.so.0)

表示 libta_lib.so 需要 glibc 2.14。

但是 glibc 只有 2.12。

``` bash

# strings /lib64/libc.so.6 | grep GLIBC

...

GLIBC_2.12

```

注意: 千万不要升级 glibc。否则 会影响到整个系统,可能开不了机。

---------------------------

## 重新 安装 ta-lib 替换原来的

### 查看 anaconda2 中 原来的 ta_lib 安装路径:

``` bash

a: /root/anaconda2/lib/libta_lib.a

so: /root/anaconda2/lib/libta_lib.so.0.0.0

include: /root/anaconda2/include/ta-lib

bin: /root/anaconda2/bin/ta-lib-config

```

由于需要 覆盖原来的 设置。所以最好 备份以上的路径和文件。

### 查看 libta_lib.so 的 glibc 版本

``` bash

objdump -p /root/anaconda2/lib/libta_lib.so.0.0.0 | grep GLIBC

GLIBC_2.3

GLIBC_2.14 # <-- 表示 libta_lib.so 需要 glibc 2.14,这个就是出错的原因

GLIBC_2.2.5

```

---------------------------

## 下载 ta_lib 的源码,进行 重新 编译和安装。

``` bash

# 下载 和 解压

cd /to/codes/ta_lib

wget ... ib-0.4.0-src.tar.gz

tar xzvf ta-lib-0.4.0-src.tar.gz

chown root:root ta-lib -R

cd ta-lib

# 安装 到 /root/anaconda2

./configure --prefix='/root/anaconda2'

make -j 8 && make install

```

-----------------------------

## xtpGateway 问题:

NameError: global name 'xtpGateway' is not defined

## 修改 VnTrader/run.py

屏蔽 run.py 的 xtpGateway 功能。

``` python

# if system == 'Linux':

# me.addGateway(xtpGateway)

```

=========================================

标签: #centos7apachesvn