在 centos7 中 vnpy1.9的安裝
# 軟體版本
vnpy-1.9
centos release 7 (final)
gcc (gcc) 4.7.2 20121015 (red hat 4.7.2-5)
python 2.7.13 :: anaconda 4.0.0 (64-bit)
anaconda2-4.0.0
conda 4.3.30
mongodb: v2.7.0
boost_1_68_0
---------------------------
# 安裝python
``` bash
/cd to/codes/anaconda/
wget
chmod +x anaconda2-4.0.0-linux-x86_64.sh
./anaconda2-4.0.0-linux-x86_64.sh
```2.anaconda2 所安裝 的 python 路徑
``` bash
bin: /usr/bin/anaconda2/bin/python
include: /usr/bin/anaconda2/include/python2.7
lib: /usr/bin/anaconda2/lib/python2.7
```若centos之前已經安裝python,則刪除/usr/bin/python的軟連線,重新建立/usr/bin/anaconda2/bin/python的軟連線
3.檢視 python 的路徑
建立資料庫的資料路徑
``` bash
mkdir -p /data/db
```8.mongodb 的安裝路徑
mongodb 的安裝路徑該路徑需要新增進去環境變數path,可以寫入到 /ete/profile 或者 ~/.bashrc
export path=$path:/usr/bin/mongo/bin
## mongod 的 啟動
執行 vnpy 前,執行 mongod 服務。
```mongod &
```------------------------------
9.boost_1_68_0 安裝 (vnpy needs boost >= 1.55)
## 修改vnpy-1.9的cmakelists.txt
修改 vnpy-1.9的 所有的 cmakelists.txt
不然 會出現 找不到 boost 和 python 庫的問題。
修改所有 cmakelists.txt 檔案:
1 修改 python_include_path
* 修改前: python_include_path /usr/include/python2.7
* 修改後: python_include_path /usr/bin/anaconda2/include/python2.7
2 修改 paths
* 修改前: paths /usr/lib/x86_64-linux-gnu
* 修改後: paths /usr/bin/anaconda2/lib
也可以用以下指令碼修改,專案中 所有的 cmakelists.txt。
將指令碼 放置到 vnpy-1.9 的目錄下面。然後執行。
``` bash
#!/bin/bash
function main()
"string_replace "python_include_path \/usr\/include\/python2.7" "python_include_path \/usr\/bin\/\/anaconda2\/include\/python2.7" "$"
string_replace "paths \/usr\/lib\/x86_64-linux-gnu" "paths \/usr\/bin\/anaconda2\/lib" "$"
return 0
}function target_file_search()
`if [ $? -ne 0 ]; then
return 1
fiecho $
return 0
}function string_replace
/$/g" $
return 0
}main $*
```後面按照 網上的指引安裝 便可。
``` bash
# cd 到 vnpy-1.9 的目錄
install.sh
```-----------------------------------------
11.numpy可能出現so庫不相容的問題:
python -m pip uninstall numpy
python -m pip install numpy
12. 解決 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。否則 會影響到整個系統,可能開不了機。
---------------------------
13.重新 安裝 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
```
由於需要 覆蓋原來的 設定。所以最好 備份以上的路徑和檔案。
14 檢視 libta_lib.so 的 glibc 版本
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
```-----------------------------
16xtpgateway 問題:
nameerror: global name 'xtpgateway' is not defined
## 修改 vntrader/run.py
遮蔽 run.py 的 xtpgateway 功能。
``` python
# if system == 'linux':
# me.addgateway(xtpgateway)
```****************************************=
17 解決unicodeencodeerror問題
unicodeencodeerror: 'ascii' codec can't encode characters in position 27-32: ordinal not in range(128)
修改locale環境設定的編碼,export lang=zh_cn.utf-8
**及參考:
vnpy安裝的坑記錄
雖然vnpy出了2,但是不知道為什麼多多少少都會出問題,而且,2之後的vnpy更加傻瓜化了,不太那麼程式設計師,總覺得 怪怪的。所以在新的電腦上重新配了一些vnpy1.x的版本,結果發現了以前的坑。雖然之前都解決了,但是重新解決起來居然有點遺忘,所以寫一下吧。mongodb什麼的就不說,因為我的自己...
安裝vnpy2 x x版本
在pycharm中指定python編譯器為vnstudio中的python 建立自己的虛擬環境,其中python為anaconda3中的python建立自己的虛擬環境 python m venv virtual name 啟用虛擬環境 source vir name bin activate 進入v...
安裝Centos系統
一 安裝centos 7系統 介紹 vmware workstation是乙個虛擬pc的軟體,利用vmware工作站,可以在現有的作業系統上虛擬出乙個或多個環境。相當於模擬出多台新的pc,可以讓你同時執行多個windows系統,linux系統,dos系統。點選右上角的新建虛擬機器 選擇自定義 下一步...