美文网首页数字货币量化交易
Ubuntu16.04搭建python 开发环境

Ubuntu16.04搭建python 开发环境

作者: 51bitquant | 来源:发表于2018-11-04 12:28 被阅读53次

    开篇

    量化开发首选的语言还是python, 还是那句话: 人生苦短,我用python. 把自己回测好的策略进行实盘交易,可以基于gekko 进行精交易,但是gekko的杠杆交易还有支持的平台不是很多,所以有些回测好的策略,还是通过python来进行实盘交易,那么今天我们来讲讲如何在ubuntu16.04服务器上进行部署环境的搭建。

    准备工作

    • 创建子用户
      当然我们也是可以在root用户下面进行操作的,但是后面要homebrew工具以及ta-lib等第三方软件的时候,可能会有限制,所以我们先创建子用户来操作比较方便

    sudo adduser bot // 创建bot用户

    Adding user `bot' ...
    Adding new group `bot' (1000) ...
    Adding new user `bot' (1000) with group `bot' ...
    The home directory `/home/bot' already exists.  Not copying from `/etc/skel'.
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for bot
    Enter the new value, or press ENTER for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
    Is the information correct? [Y/n] y
    
    

    然后输入bot用户的密码就可以了,然后输入y就可以了。记住,此时bot用户的文件目录是:/home/bot

    sudo adduser bot sudo // 给bot用户添加sudo权限

    然后切换到sudo 用户

    su - bot // 然后输入bot用户的密码就可以了

    或者通过ssh 进入bot用户

    ssh bot@xxx.xxx.xxx.xxx // xxx.xxx.xxx.xxx 为你服务器的ip地址。

    接下来更新下依赖, 依次输入下面四个命令。

    sudo apt-get update

    sudo apt-get upgrade

    sudo apt-get dist-upgrade

    sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

    安装Anaconda

    anaconda 一大好处就是帮助我们把很多科学计算的库都安装好,还有就是帮助我们很容易创建虚拟环境, 如下面两句命令就搞定虚拟环境的安装,省去我们很多麻烦.

    conda create -n name python=3.6 //创建名字为name的虚拟环境
    conda activate name // or source activate name 激活虚拟环境
    conda deactivate // deactivate name 取消激活虚拟环境。

    Anaconda 的官网地址为:下载地址
    我们找到anaconda的下载文件,然后通过命令下载到服务器:

    wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh

    注意我们安装的是python 3.7的版本。当然要用python2.7的话可以通过虚拟环境来安装使用。
    下载好后,执行bash命令进行安装:

    bash Anaconda3-5.3.0-Linux-x86_64.sh

    bash 后面的为你本地下载好的Anaconda 的文件名,然后等带安装就可以了。但是安装完成后,你还是发现没法使用conda命令,这时候要配置下:

    sudo vi .bashrc

    添加下面这段话:

    export PATH=/home/bot/anaconda3/bin:$PATH // PATH后面的内容为为你anaconda3的安装目录。
    

    然后执行命令, 或则推出终端重新登录也可以。

    source .bashrc

    这时候你输入Python, 如果现实为如下内容就说明你的anaconda安装好了。

    Python 3.7.0 (default, Jun 28 2018, 13:15:42) 
    [GCC 7.2.0] :: Anaconda, Inc. on linux
    Type "help", "copyright", "credits" or "license" for more information.
    

    这时候,你可以利用pip或则conda安装第三方库了。

    安装homebrew

    安装homebrew是为了方便我们安装python ta-lib的依赖,ta-lib是我们用来计算技术指标常用的库,当然你也可以使用tulip也可以。废话不多说,把homebrew 的github地址贴一下hombrew github, 安装命令如下:

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

    vi .bashrc

    export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" // 添加路径。

    安装ta-lib

    ta-lib 的github地址

    brew install ta-lib

    pip install ta-lib

    如果安装错误,或者类似如下问题的:

      gcc -pthread -B /home/bot/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/bot/anaconda3/lib/python3.7/site-packages/numpy/core/include -I/usr/include -I/usr/local/include -I/opt/include -I/opt/local/include -I/home/bot/anaconda3/include/python3.7m -c talib/_ta_lib.c -o build/temp.linux-x86_64-3.7/talib/_ta_lib.o
      talib/_ta_lib.c:526:28: fatal error: ta-lib/ta_defs.h: No such file or directory
      compilation terminated.
      error: command 'gcc' failed with exit status 1
    
    
    ailed building wheel for TA-Lib
      Running setup.py clean for TA-Lib
    Failed to build TA-Lib
    Installing collected packages: TA-Lib
      Running setup.py install for TA-Lib ... error
        Complete output from command /home/bot/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-3_y5lywf/TA-Lib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-uvh9lr84/install-record.txt --single-version-externally-managed --compile:
        /tmp/pip-install-3_y5lywf/TA-Lib/setup.py:79: UserWarning: Cannot find ta-lib library, installation may fail.
          warnings.warn('Cannot find ta-lib library, installation may fail.')
    

    那么可能是是homebrew默认的配置错误了,需要手动编译ta-lib。

    • 下载ta-lib

    wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz

    解压ta-lib

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

    cd ta-lib/

    ./configure --prefix=/usr

    make

    sudo make install

    最后安装Ta-Lib

    pip install TA-Lib

    这下应该就不会有问题了。 你可以开始使用ta-lib 开发和运行你的策略了。

    安装fabric3进行自动化部署

    如果有需要的话可以利用fabric3 进行自动化运维部署, 这里可以参考下这篇博客。

    pip3 pip install fabric3

    运行python项目

    编写好的代码如果要在服务器上运行,直接使用命令执行:

    python 你的程序文件名.py

    也可以运行,但是退出终端后,程序就会终止,可以使用nohup命令进行守护进程的方式运行

    nohup python -u 你的程序文件名.py > nohup.txt 2>&1 &

    ps -aux | grep 你的程序文件名.py // 获取程序的进程id

    执行完成后会返回你的进程id, 当然终止的话,可以通过kill命令终止,或者通过ps 命令查看进程编号,然后在执行kill的命令

    kill 进程id // 如: kill 34984

    最后推出服务的时候,通过exit来退出

    exit

    结束

    文章主要讲了开发环境的搭建,以及安装相关依赖库,以及项目的部署等。希望有从事数字货币量化交易的,可以多多沟通,交流学习,共同进步。

    相关文章

      网友评论

        本文标题:Ubuntu16.04搭建python 开发环境

        本文链接:https://www.haomeiwen.com/subject/wtyrxqtx.html