手机版
你好,游客 登录 注册
背景:
阅读新闻

在Ubuntu下用Python搭建桌面算法交易研究环境

[日期:2013-11-09] 来源:Linux中国   作者:Linux [字体: ]

Ubuntu上安装Python研究环境软件包

点击左上角的搜索按钮,在输入框里输入“Terminal”,弹出命令行界面。双击终端图标启动终端:

*Ubuntu中的终端界面

所有后续的命令都在此终端输入。

任何崭新的Ubuntu Linux系统上做的第一件事就是更新和升级软件包。前者告诉Ubuntu可用的新软件包有哪些,后者用新版的软件包替换旧版的。运行下列命令(你将被提示输入您的密码) :

sudo apt-get -y update sudo apt-get -y upgrade 

-y前缀告诉Ubuntu接受所有回答“是/否”的问题为'是'。 “sudo”是一个Ubuntu/Debian Linux的命令,允许以管理员权限执行其他命令。由于我们将在站点范围安装软件包,我们需要机器的root权限,因此必须使用'sudo'

你可能会在这里得到一个错误消息:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) 

为了解决这个问题,再次运行"sudo apt-get -y update",如果它不起作用,你可以在该站点(http://penreturns.rc.my/2012/02/could-not-get-lock-varlibaptlistslock.html)上查看是否有其他的命令。

一旦这两个更新命令成功执行,接下来我们需要安装Python,NumPy/SciPy,matplotlib,pandas,scikit-learn和IPython。我们将从Python开发包和编译器开始安装,编译器将在编译所有软件的时候用到:

sudo apt-get install python-pip python-dev python2.7-dev build-essential liblapack-dev libblas-dev 

一旦必要的软件包已安装,我们就可以通过pip,即Python包管理器,安装NumPy。pip将下载NumPy的zip包,然后从源代码编译。请记住,编译需要花费一些时间,大概10-20分钟!

sudo pip install numpy 

NumPy安装完了后,我们需要在继续之前检查它是否可用。如果你仔细看终端,你会发现计算机名后面跟了你的用户名。比如我的是mhallsmoore@algobox,随后是提示符。在提示符下键入python,然后试着导入NumPy。我们将计算一个列表的平均值,以测试NumPy是否可用:

mhallsmoore@algobox:~$ python Python 2.7.4 (default, Sep 26 2013, 03:20:26) [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> from numpy import mean >>> mean([1,2,3]) 2.0 >>> exit() 

现在,我们已成功安装NumPy,接下来要安装Python的科学库,即SciPy。然而,它有一些依赖的软件包,包括ATLAS库和GNU Fortran编译器:

sudo apt-get install libatlas-base-dev gfortran 

现在,我们将通过pip安装SciPy.这将需要相当长的时间(约20分钟,这取决于你的电脑),所以也许你可以去喝杯咖啡先:

sudo pip install scipy 

唷!现在已安装SciPy。让我们通过计算一个整数列表的标准差来测试SciPy是否可以正常使用:

mhallsmoore@algobox:~$ python Python 2.7.4 (default, Sep 26 2013, 03:20:26) [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import scipy >>> from scipy import std >>> std([1,2,3]) 0.81649658092772603 >>> exit() 

接下来我们需要安装matplotlib的依赖包,Python的图形库。 由于matplotlib是一个Python包,无法使用pip去安装以下PNG,JPEG文件和FreeType字体库相关的库,所以我们需要Ubuntu为我们安装:

sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev 

现在我们可以安装matplotlib了:

sudo pip install matplotlib 

我们将安装数据分析和机器学习库,pandas和scikit-learn.这步不需要安装额外的依赖库, 因为NumPy和SciPy已经将依赖都覆盖了.

sudo pip install -U scikit-learn sudo pip install pandas 

我需要测试scikit-learn:

mhallsmoore@algobox:~$ python Python 2.7.4 (default, Sep 26 2013, 03:20:26) [GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sklearn load datasets >>> iris = datasets.load_iris() >>> iris .. .. 'petal width (cm)']} >>> 

另外,我们需要测试pandas:

>>> from pandas import DataFrame >>> pd = DataFrame() >>> pd Empty DataFrame Columns: [] Index: [] >>> exit() 

最后, 我们需要安装IPython.这是一个交互式的Python解释器,它相比标准的Python控制台,提供了一个更精简的工作流。在以后的教程中,我将讲述IPython在算法交易开发中的完整用途:

sudo pip install ipython 

虽然IPython本身已经相当有用,它通过包含qtconsole可以有更强大的能力,qtconsole提供了内联matplotlib可视化的能力。尽管如此,它需要多一点点的工作以使它启动和运行。

首先,我们需要安装Qt库。对于这一点,你可能需要更新你的软件包(我做了!):

sudo apt-get update 
linux
相关资讯       Python教程  Ubuntu python