>

包括 Mac 系统的原因,pymssql 的老版本涉及到编译

- 编辑:澳门博发娱乐官网 -

包括 Mac 系统的原因,pymssql 的老版本涉及到编译

PythonStock(18):使用docker 安装 quantlib 源码安装&lib库安装,pythonstockdocker

python 连接数据库通常要安装第三方模块,连接 MS SQL Server 需要安装 pymssql 。由于 pymsql 依赖于 FreeTDS,对于先于 2.1.3 版本的 pymssql,需要先安装 FreeTDS。由于早期版本的 pymssql 只提供了 windows 下的 wheel 打包,其他平台需要从源码包编译安装,那需要先安装 freetds-dev 包,以提供必要的头文件。

AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲“每日推荐”……形形色色的AI早已进入我们生活的方方面面。深刻的影响了着我们,可以说,这是一个AI的时代。

原文链接 https://jinkey.ai/post/tech/mac-ren-yi-pythonhuan-jing-an-zhuang-caffe-de-zhong-ji-jiao-cheng
本文作者 Jinkey(微信公众号 jinkey-love,官网 https://jinkey.ai)
感谢 yubang 老司机指导填坑,大神的博客http://blog.yubangweb.com/
文章允许非篡改署名转载,删除或修改本段版权信息转载的,视为侵犯知识产权,我们保留追求您法律责任的权利,特此声明!

原文地址
date:20170613

前言


使用Python开发一个股票项目。
项目地址:

相关资料:

主要使用开发语言是python。
使用的lib库是pandas,tushare,TensorFlow,tornado等。

本文的原文连接是:
未经博主允许不得转载。
博主地址是:

函数计算的 runtime 运行时的目录是只读的,所以对于需要使用 apt-get 和 pip 安装依赖的场景,需要将依赖安装在代码目录而不是系统目录。具体安装方法可以参考《函数计算安装依赖库方法小结》。而 pymssql 的老版本涉及到编译安装,比常见的二级制安装到本地目录略复杂一些。

其实早在2016 年 9 月,百度就开源了PaddlePaddle深度学习框架,并且很快就吸引了很多来自百度外的参与者。相信有不少同学曾经有着对这款又新鲜又强大的深度学习框架蠢蠢欲动,虽然有关PaddlePaddle的教程不太多,但百度官方就在PaddlePaddle的官网给出了一份详细的教程,包括其API和函数文档。不过它仍然是有门槛的,尤其是对于对计算机及编程环境搭建了解不深的同学,可能看着页面上凭空给出的代码及操作陷入懵逼。

1 概要

版本号

solidity的版本号命名遵从语义化版本协议。除了正式版本之外,最新的开发版本也是可以使用的。最新的开发版本不保证稳定运行,并且包含未文档化的或者不兼容的变更(?broken changes)。我们推荐使用最新的正式版本。下面的安装程序会选择最新的正式版本。

1,关于quantlib


QuantLib 是一个专注于 Quantitative Finance 计算与开发的 C++ 库。
是非常大的一个lib库。
官方网站是:

核心代码是c++ 写的,使用swig进行封装,支持python,java等好多语言。
github 项目地址:

是BSD开源项目。
学习文档:

关于quantlib的文档挺少的,还是这个哥们写的比较全面。以后慢慢研究。

函数计算依赖安装需要有个模拟的 linux 环境,从前我们推荐使用 fcli shell 的 sbox ,启动一个接近生产环境的 docker container 进行依赖安装。因为有些依赖是平台相关的,在 mac 系统安装的动态链接库无法在函数计算的 linux 环境下运行, pymssql 恰好属于这种情况。本文我将使用 fc-docker 进行安装和本地测试。

真正从零开始,PaddlePaddle详细安装入门图文教程!

1.1 为什么要写这篇文章

由于历史原因:
我的电脑有五六个直接安装在系统的Python的环境,加上一堆 Python 虚拟环境。

包括 Mac 系统的原因
自带的系统环境无法安装 pip 及其他第三方库,必须通过 homebrew来自行安装一个python 而这个python路径和系统的并不一样。
包括 Anaconda 的原因
之前为了安装某些科学计算库方便使用了Anaconda,并且需要同时使用python2和3,所以由多了两个环境。

在如此混乱的开发环境下,配置 Caffe 实在艰难,特此教程。

Remix

如果你想要尝试solidity的智能合约,你可以尝试使用Remix,它不需要安装任何软件。如果你像在离线的时候使用Remix,你可以到这个项目中下载zip包。

2,编译安装quantlib


linux安装文档:

首先要准备 libboost库
然后开始编译 quantlib ,发现编译的时间超级的长。
从编译出现的一些问题,到找到尝试。折腾了不少时间:
整理了下安装脚本如下:

cd /root 
echo "############ 1 download file ############ "
curl -o QuantLib-1.11.tar.gz https://codeload.github.com/lballabio/QuantLib/tar.gz/QuantLib-v1.11
curl -o QuantLib-SWIG-1.11.tar.gz https://codeload.github.com/lballabio/QuantLib-SWIG/tar.gz/QuantLib-SWIG-v1.11
echo "############ 2 install ubuntu libs ############ "
apt-get update && apt-get install -y python-dev swig automake autoconf libtool libboost-all-dev
#echo "############ 3 uncompress tar files ############ "
tar -zxvf QuantLib-1.11.tar.gz && tar -zxvf QuantLib-SWIG-1.11.tar.gz 
echo "############ 5 install quantlib ############ "
cd QuantLib-QuantLib-v1.11 && ./autogen.sh && 
./configure && make && make install && ldconfig
echo "############ 5 install quantlib-python3 ############ "
cd ../QuantLib-SWIG-QuantLib-SWIG-v1.11 && ./autogen.sh && ./configure PYTHON=/usr/bin/python3 && 
make -C Python && make -C Python install
echo "############ 6 rm tmp files ############ "
rm -rf /root/QuantLib-QuantLib-v1.11 /root/QuantLib-SWIG-QuantLib-SWIG-v1.11
rm -f /root/QuantLib-1.11.tar.gz /root/QuantLib-SWIG-1.11.tar.gz

别看就是个编译,不知道为啥这么耗时间。
编译 quantlib 就花了一个小时,编译 QuantLib-SWIG 我都放到晚上做了。
然后第二天再来看。

下面的例子是基于函数计算 runtime python3.6 的,对于 python2.7 也进行了测试,同样适用。

而今天我要做的,就是带着所有这些几乎没有编程基础却很想学习PaddlePaddle的同学跨过这道坎。告诉你们大家如何准备好使用PaddlePaddle进行编程所需的一切,以及如何看懂教程上的那些代码所代表的含义,那么废话不多说,我们马上开始。

1.2 为什么不用 docker 运行

因为 Pycharm Community Edition 2017.1 不支持远程调试,其他开发环境不好用。你要用 docker 的话可以不忽略该教程了。

npm/nodejs

这是安装solidity最方便的方法。
里边提供了一个平台独立的javascript库,它是由c++源码通过Emscripten转换为javascript的。它可以在项目中直接使用(像Remix一样)。可以参考solc-js项目查看指令。
它也有命令行工具,叫做solcjs,可以通过如下npm命令安装:

npm install -g solc

注意:olcjs的命令行选项与solc是不兼容的。所有与solc一同协作的工具(如geth)在solcjs中是不管用的

3,编译docker镜像


#需要编译数个小时,慢慢等待。
RUN cd /root && curl -o QuantLib-1.11.tar.gz https://codeload.github.com/lballabio/QuantLib/tar.gz/QuantLib-v1.11 && 
    curl -o QuantLib-SWIG-1.11.tar.gz https://codeload.github.com/lballabio/QuantLib-SWIG/tar.gz/QuantLib-SWIG-v1.11 && 
    apt-get update && apt-get install -y python-dev swig automake autoconf libtool libboost-all-dev && 
    tar -zxvf QuantLib-1.11.tar.gz && tar -zxvf QuantLib-SWIG-1.11.tar.gz && 
    cd QuantLib-QuantLib-v1.11 && ./autogen.sh && ./configure && make && make install && ldconfig
# 变成两个任务,防止第二个失败了,人崩溃了。
RUN cd /root/QuantLib-SWIG-QuantLib-SWIG-v1.11 && ./autogen.sh && ./configure PYTHON=/usr/bin/python3 && 
    make -C Python && make -C Python install && apt-get remove -y python-dev swig automake autoconf libtool && 
    rm -rf /root/QuantLib-QuantLib-v1.11 && rm -rf /root/QuantLib-SWIG-QuantLib-SWIG-v1.11  && 
    rm -f /root/QuantLib-1.11.tar.gz  /root/QuantLib-SWIG-1.11.tar.gz

编译之后可以使用了:

>>> import QuantLib as ql 
>>> print(ql.__version__)
1.11

首先使用 docker 在本机 Mac 电脑下运行一个 SQL Server 2017 服务,并初始化表结构,编辑一个 index.py 的测试文件,以验证数据库访问是否成功。

第一步,找一台计算机

首先,我们第一步要有一个计算设备,俗话说巧妇难为无米之炊。你可以租用云服务器,当然也可以利用你手上现有的计算机和服务器。在这里为了使初始安装环境纯净,我将申请一个百度云服务器。

我们进入百度云官网,在产品中选择“云服务器BBC”。点击购买:

图片 1

在购买时,云服务器类型选择“GPU实例”,因为其他类型的云服务器都没有配置GPU。有时候“GPU实例”处于不可用状态,是因为该地区服务器已经被租完,这就要在左上角选择其他地区的服务器集群,或者更换“可用区”:

图片 2

我换到了苏州的集群。下一步,在GPU型号的选择上,因为老黄的那个条款,NVIDIA GeForce系列的GPU不允许用在商用深度学习领域,只能个人研究使用或者玩游戏,所以目前只有4种可以选:P40、P4、K40和NVIDIA 深度学习开发卡。他们在参数上有两种差别,一个是计算能力,一个是缓显存。例如:P4的单精度性能是5.5Tflops,P40性能是12Tflops。因为深度学习主要使用单精度计算(其实除了天气预测,流体模拟,量子色动力学等极端科研项目,用到的都是单精度或者半精度的运算),所以这个指标在实际影响上在你训练时训练速度快慢的问题。第二个差别就是GPU显存,显存问题其实优化的合理8G足够用,优化不合理,给你100G都会爆显存。有的热用了 CNN,你随便做个内积内存就翻倍了肯定要炸的。

其他的一路默认就可以,如果想用SSD,在存储层面点击“创建云磁盘”,选择”SSD云磁盘“,调整合适的容量就可以,之后会挂在在系统上:

图片 3

如果你想要从外网访问这个服务器,要选择“购买弹性公网IP”,实际就是给你的服务器分配一个公网IP,不然的话你只能从管理页面在网页上使用VNC远程连接。

之后根据自己的实际情况填写服务器登录密码和购买时长。linux系统为root,windows系统为Administrator。整体就是这个样子:

图片 4

付费方式可以选预付费和后付费,如果不是计算重度使用用户,使用后付费会便宜很多,以为他是按照使用量计费的。

付费完成后就可以在账户的“云服务器BCC-实例列表”里看到你的机器啦。默认名称是一个内部序号,如果服务器多的话为了方便区分,可以在右边的按钮重新输入名称:

图片 5

点击右侧的“VNC远程”可以从网页端连接到服务器的SHELL。

图片 6

当然,我们也可以在“监控”页面中找到服务器的IP地址,用XSHELL或者PUTTY等工具链接到服务器,在这用XSHELL演示一下:

图片 7

图片 8

图片 9

连接:

图片 10

接受并保存主机密钥。Linux用户名初始为root,建议使用root,就是为了方便,不用经常打sudo和输入密码:

图片 11

正确输入密码后就连接到服务器的shell了:

图片 12

这样一台可用的服务器就准备好了。

如果使用的而是自己的机器的话,请确保机器环境与以上一致

1.3 用到的环境

因为随着各种库更新,不一定有空更新教程导致该教程某些步骤不可用,特此说明一下写这个文章的时候各个库的版本。
MacOS 10.12.6
Python 2.7.13
pip 9.0.1
Pycharm Community Edition 2017.1
Homebrew 1.3.1
cmake version 3.8.2
caffe 1.0

Docker

我们提供了编译器最新的docker编译。stable仓库包含的是发行版本,而nightly包含的是不稳定的心功能。

docker run ethereum/solc:stable solc --version

目前,docker容器只包含了编译器可执行程序,所以你还要做些额外的工作,选择源码和输出目录。

4,python2 直接安装


如果是python2 的环境直接使用apt-get 进行安装:

apt-get install -y quantlib-python 

安装完成之后的版本是 1.7 是 2015 年发布的。

>>> import QuantLib as ql
>>> print(ql.__version__)
1.7

最新的是 1.11 ,要想安装最新的还是源码安装。
要想方便还是 apt-get 安装快。

$ docker pull mcr.microsoft.com/mssql/server:2017-latest$ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Codelife.me'  -p 1433:1433 --name sql1  -d mcr.microsoft.com/mssql/server:2017-latest

第二步

拿到shell后第一步当然是要换一个国内的apt源,我找了一个清华的源:

执行如下操作,备份原文件后,新建一个原文件:

# mv /etc/apt/sources.list /etc/apt/sources2.list
# vi /etc/apt/sources.list

使用i键进入编辑模式,然后将以下内容使用shift+insert复制进去:

#默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

输入后 按下esc,然后按下英文半角的冒号“:”,后输入wq,回车,就保存了。

最后别忘了输入apt-get update更新一下源文件

因为目前PaddlePaddle与python3不兼容,所以我们要需要一个2.7版本的python。

我们直接用apt下载就可以 apt-get install python。他默认是2.7版本。安装完成后进入到了等待模式,输入python可以看到是2.7版:

图片 13

当然我们也可以通过源码方式安装python2.7

wget [https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz] 

下载Python2.7

图片 14

解压该包:

tar -xvf Python-2.7.13.tgz

进入该包:

cd Python-2.7.13

配置

 ./configure

编译:

make
make install

安装完毕

之后需要安装pip。Pip使用python的一个包管理工具,可以用它方便地直接下载安装python包。

输入 apt-get install python-pip 安装,他会默认安装python默认的2.7版本对应的PIP管理器

图片 15

安装完成后,输入pip -V来查看pip的版本

图片 16

装好pip后,首先先把numpy模块装好,因为他是paddlepaddle必备环境包

Pip install numpy

Pip默认已经用的是国外的源,那速度简直是再难,我们临时用清华源来安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider

安装完成后,进入python,输入import numpy as py 若没有报错则安装成功。

图片 17

2 环境准备

二进制安装包

Solidity的二进制安装包可以在这个页面找到。
我们也为Ubuntu系统提供PPAs。如下命令,获取最新的稳定版本:

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

如果你想安装最新的开发版本:

sudo add-apt-repository ppa:ethereum/ethereum
sudo add-apt-repository ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install solc

Linux也有安装包,但是只限开发版本:

pacman -S solidity-git

Homebrew安装,在目前为止还没有编译好的安装包,但是Homebrew可以通过编译源码安装。我们也会马上添加编译好的安装包。

brew update
brew upgrade
brew tap ethereum/ethereum
brew install solidity
brew linkapps solidity

如果你想要获取特定版本的solidity,你可以通过homebrew直接从github安装。
参看github上solidity.rb提交。
查看历史提交,直到找到所需的solidity.rb的源码。然后通过brew安装:

brew unlink solidity
# Install 0.4.8
brew install https://raw.githubusercontent.com/ethereum/homebrew-ethereum/77cce03da9f289e5a3ffe579840d3c5dc0a62717/solidity.rb

我们也为Gentoo linux提供了solidity安装包。通过emerge安装:

demerge ev-lang/solidity

5,总结


编译quantlib 没有啥技术含量,就是编译时间太长了。
最新的 1.11 使用 1.7 的版本也没有啥问题。

本文的原文连接是:
未经博主允许不得转载。
博主地址是:

将 SQL Server 启动于 1433 端口,并设定 SA 账户密码为 Codelife.me

下面进入安装PaddlePaddle阶段。

安装PaddlePaddle有三种方式:

  1. 最简单的方式当然是用pip包管理器安装
  2. 编译源码安装
  3. 在docker中安装

1.1 用pip直接安装:

pip install -i https://pypi.douban.com/simple paddlepaddle==0.11.0

1.2 安装gpu版本前提是安装了CUDA和cudnn5,CUDA官方支持的是cuda7.5和cuda8。Cuddn加速的话PaddlePaddle可以使用cudnn v2之后的任何一个版本来编译运行,但推荐使用它目前所支持的最高版本最新版本的cudnn5):

pip install -i https://pypi.douban.com/simple paddlepaddle-gpu==0.11.0

图片 18

2.1 Homebrew

终端运行

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

从源码安装

这部分保留,不做翻译,需要的读者直接看原文。

本文由胜博发-运维发布,转载请注明来源:包括 Mac 系统的原因,pymssql 的老版本涉及到编译