楼主: 邢不行
987 13

[程序化交易] 【邢不行|量化小讲堂系列40-Python量化入门】为什么我推荐使用Anaconda [分享]

回帖奖励 988 个论坛币 回复本帖可获得 1 个论坛币奖励! 每人限 2 次

助理

学科带头人

72%

还不是VIP/贵宾

-

威望
1
论坛币
27016 个
通用积分
58.5142
学术水平
471 点
热心指数
486 点
信用等级
442 点
经验
41639 点
帖子
399
精华
26
在线时间
875 小时
注册时间
2010-4-30
最后登录
2019-10-15

邢不行 在职认证  发表于 2019-2-26 17:52:52 |显示全部楼层
本帖最后由 邢不行 于 2019-4-25 19:08 编辑

引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。


【必读文章】:
《10年400倍策略分享-附视频逐行讲解代码》

            《EOS期现套利,一周时间,15%无风险收益》


【历史文章汇总】:https://bbs.pinggu.org/thread-3950124-1-1.html

微信个人号:xingbuxing0807,有问题欢迎交流




为什么我推荐使用Anaconda

  


1.jpg

大家好,我是邢大的课程助教西蒙斯。


在答疑过程中,经常会遇到大家问关于Anaconda的问题。应邢大的要求,针对常见问题,给大家介绍一下如何正确安装和使用Anaconda,具体内容如下:


  • 什么是Anaconda

  • 为什么推荐?

  • 为什么有人不喜欢?

  • 如何正确安装

  • 如何正确管理第三方包



关于Anaconda以及新手如何安装Python的问题,也可以直接看下邢大之前的文章:《如何安装Python & Pandas》


什么是Anaconda

Anaconda在一些人的眼中约等于Python,是安装Python的主流方式之一。


但其实Anaconda的意义更加深远,实际上它是一个统一的、跨平台的虚拟环境。


不理解“虚拟环境”和“跨平台”的不用慌,简单来说就是,通过Anaconda安装的Python、第三方包,在所有的操作系统上运行起来都是一样的。在安装第三方包的时候会自动帮你完成操作系统底层依赖的安装。


2.jpg



如图所示,Anaconda是一个虚拟运行环境,安装完成后,会在这个环境中安装一个Python,并且不会影响到系统已经安装过的其他Python,是一套独立的运行环境。


为什么推荐?

省心,省心,省心。


当然这里说的省心是相对的。如果对于一个纯净的环境,今后工作主要依赖的是Anaconda提供的Python,比如做数据分析或者量化投资的同学,就一个字:爽。


如果多环境,并且主力环境并不是Anaconda的Python,那要小心了。安装完成后环境变量和PATH都会被修改,一定程度上会产生困扰,尤其是Python的老司机。


优点1:统一的环境

可能大家不是很理解什么是虚拟环境,什么是跨平台。举个例子,比如你在Windows上,在Anaconda里面安装了pandas,程序在本地稳定运行;之后放到Linux服务器上,通过Anaconda安装好环境,便可以稳定运行;或者拷贝给macOS的朋友,也可以稳定运行。有了Anaconda,就帮你同一化了底层的安装和依赖,可以一定程度上避免不同版本系统,不同操作系统之间的差异产生的问题。


优点2:丰富的第三方包

我不知道有没有同学曾经在系统上安装过TA-Lib,或者Tables这样的包,这里有很多坑。


在接触Anaconda之前,我相信超过90%的同学会使用pip安装这样的包。结果是要么缺少依赖安装失败,要么安装好了之后import不了。


Anaconda的灵魂之处就是通过它安装,不管是在Navigator里还是使用conda命令,安装好了就好了。实际上就是在Anaconda的环境下,当使用它提供的包的时候,它顺便解决了操作系统级别的依赖,并且不会污染你操作系统的大环境。


哪天你对它不爱了,铲了Anaconda会带走它的所有东西,通过它安装的内容也不会像垃圾一样赖在你的系统中。


优点3:多Py版本支持

Anaconda是支持多个版本的python同时存在的,不仅仅是python2和python3这样的大版本,还能支持python3.6.5和python3.6.4这样小版本共存共生。


同时Anaconda就提供了很方便的python版本管理,不同环境拥有独立的版本,独立的包管理。并且提供简单的命令和图形界面,非常的好用。



为什么有人不喜欢?

因为它会影响环境变量和PATH。


仅是使用Anaconda提供的Python来做Data Science的事情,一般不会遇到这些问题。但其他情况可能就不一定了。


我举一个非常实际的例子,很多同学使用了Anaconda之后,通过pip安装uwsgi会遇到问题。系统会提示你缺少依赖,并且你发现依赖装好了,还是继续报错。


当你使用的是Anaconda提供的python的时候,若提示缺少依赖不一定是操作系统缺少依赖,而是你当前的Conda的运行环境缺少依赖。


很多老司机在部署网站的时候会在这个点上面翻车,不过这个也是很好理解并且梳理的,理清楚了很好处理的。要解决上述问题其实在指定环境中通过conda安装uwsgi即可。


不过我的结论是:瑕不掩瑜,学会处理就行。


如何正确安装Anaconda

推荐的方法,没有之一:从官找到适合自己的系统的版本下载安装。因为网络限制,通常在国内下载会比较慢,此时可以将下载链接复制到迅雷下载,速度会快很多。


3.jpg


Anaconda3带的是python3,Anaconda2带的是python2的运行环境。Windows和macOS都有安装包,直接默认点击下一步直到最后即可。以下是几个注意点:

  • 使用默认的选项,不要自己调整

  • Windows用户安装路径还是建议放在C盘默认的地方

  • 关于“当前用户”还是“所有用户”:使用安装软件默认选项

  • 关于“VS Code”那一步:这个是微软的硬广,不用理他,直接跳过即可。



对于Linux的用户,用wget或者类似的命令从官网下载sh执行即可。


针对像我一样的CentOS的真爱粉给一个温馨提示,安装前需要安装bzip2这个系统包。


如何正确管理第三方包

优先使用Anaconda安装,提示找不到对应的包的时候,通过Anaconda打开命令行,然后使用pip安装。


使用图形界面安装

  • 打开Anaconda Navigator

  • 在左边Environments进入并在显示的列表中选择要的那个环境(默认就一个base)。

  • 搜索要安装的包,并打勾。(或者找到要卸载的包,并取消打勾)

  • 点击右下角的Apply。

  • 等待菊花转完就搞定了。



使用命令行安装

  • 打开命令行工具(win:Anaconda Prompt,mac:Terminal)

  • 如下图通过conda activate选择要的环境。

  • 输入“conda install 安转包的名字”即可,比如“conda install pandas”。


4.jpg



在Anaconda环境中使用pip

不建议使用系统自带的命令行操作!

不建议使用系统自带的命令行操作!

不建议使用系统自带的命令行操作!


很多同学直接打开Windows的CMD,或者Mac的Terminal就用pip命令了,这个是不可取的。具体步骤如下:

  • Win/Mac打开Anaconda Navigator。

  • 左边点击Environments。

  • 在中间的列表中找到你要安装的环境(默认的话就一个base)。

  • 选中并且点击绿色的三角。

  • 在下拉菜单中选择“open terminal”。

  • 在弹出的命令行窗口中使用pip的命令。


Linux的无GUI用户就使用系统的terminal,通过conda activate切换环境后使用pip。


总结

本文主要是介绍了Anaconda及其优劣点,并且讲解了如何安装和使用Anaconda,到这里大家应该都能掌握Anaconda的正确打开方式了。若还有什么问题可以添加下方邢大的微信xingbuxing0807咨询。


觉得文章内容有帮助的话,回复是最好的鼓励!回帖还有机会获得论坛币哦!



不管去哪里 只要在路上
stata SPSS
跟着赶脚走 发表于 2019-5-25 11:03:44 |显示全部楼层

回帖奖励 +1 个论坛币

谢谢分享,您辛苦啦!
回复

使用道具 举报

daowuji 发表于 2019-5-27 11:39:32 |显示全部楼层

回帖奖励 +1 个论坛币

真的有这么神吗?谢谢分享了
回复

使用道具 举报

wuyan11 发表于 2019-6-1 17:45:03 |显示全部楼层

回帖奖励 +1 个论坛币

回复

使用道具 举报

wuyan11 发表于 2019-6-1 17:46:35 |显示全部楼层

回帖奖励 +1 个论坛币

回复

使用道具 举报

wuyan11 发表于 2019-6-1 17:52:07 |显示全部楼层
回复

使用道具 举报

虾不虾 发表于 2019-9-25 10:56:42 |显示全部楼层

回帖奖励 +1 个论坛币

感谢分享
回复

使用道具 举报

wangyong8935 发表于 2019-10-5 21:07:41 |显示全部楼层

回帖奖励 +1 个论坛币

感谢楼主的分享
回复

使用道具 举报

wangyong8935 发表于 2019-10-5 21:08:03 |显示全部楼层

回帖奖励 +1 个论坛币

感谢楼主的分享
回复

使用道具 举报

gewenhong66 发表于 2019-10-7 09:01:38 |显示全部楼层

回帖奖励 +1 个论坛币

thank a lot
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-10-21 13:31