@BurdenBear
2017-08-19T10:59:49.000000Z
字数 4447
阅读 20759
学院
一般来说,安装python的途径是下载Python发行版或者集成环境,然后利用包管理工具pip从网络上下载所需使用的python包进行安装;同时使用virtualenv进行环境隔离,为不同的应用维护一个相对干净的环境。
在windows系统下,使用pip通过源码编译安装python模块经常会遭遇各种奇怪的问题。
http://www.lfd.uci.edu/~gohlke/pythonlibs/ 该网站收录了许多windows环境下编译好的很多包。
python语言的使用方式主要有以下三种:
在windows环境下,打开命令提示符,输入python,即可打开python解释器。
)
使用交互式编程环境IPython
在windows环境下,打开命令提示符,输入IPython,即可打开IPython交互式环境,相较于普通python解释器,IPython提供了命令补全,变量展示,matplotlib画图等功能。
)
以上两种方式配合IDE(集成开发环境)使用效果更佳,这里推荐的IDE有Pycharm, WingIDE,Spyder(类似matlab,可以方便查看数据,Anaconda自带,可以直接使用pip安装)等。
使用jupyter notebook。Jupyter Notebook,以前又称为IPython notebook,是一个交互式笔记本,运行于浏览器中,支持python、R、scala等多种科学计算语言,有非常丰富的数据展示形式,支持Markdown文档,易于阅读和分享。Anaconda中自带,也可以直接通过pip安装pip install jupyter
python在各种python发行版或集成环境中,Anaconda可以说是为数据分析工作者量身定做的,它由数据科学从业者开发和维护,旨在打造一个领先的、portable、易于上手的开放数据科学平台,它是开源的Python和R的高性能分发版,包括了超过100种最受欢迎的数据科学Python,R和Scala软件包。conda则是该项目中的包及环境管理部分,它不单单管理python模块,同时也解决了难于处理的那部分C语言拓展的编译问题,还能管理虚拟python环境。在数据科学的使用场景中,其比pip要更加优秀。其官方主页有提供主流的操作系统上的安装客户端,直接下载运行安装即可。
安装完成后,在%anaconda%\\Scripts
(Mac为%anaconda%\\bin
)下有名为anaconda-navigator的可执行文件,双击运行后会进入anaconda管理页面,从该页面可以以图形化的方式启动python、jupyternotebook、spyder,进行虚拟环境和模块管理等
可以将其快捷方式发送到桌面(mac可以用ln -s
命令创建一个软连接到桌面),作为python环境的入口。
如果启动中有问题,请尝试升级anaconda及anaconda-navigator
conda upgrade anaconda anaconda-navigator
以上各种格式都可以用pip直接安装。
pip支持的安装方式
从PYPI(Python包索引库)安装
$ pip install SomePackage
[...]
Successfully installed SomePackage
从压缩文件安装
$ pip install SomePackage.tar.gz
[...]
Successfully installed SomePackage
安装whl文件
$ pip install SomePackage-1.0-py2.py3-none-any.whl
[...]
Successfully installed SomePackage
从github或svn下载源码安装
$ pip install git+https://myvcs.com/some_dependency@sometag#egg=SomeDependency
[...]
Successfully installed SomePackage
pip list
列出已安装模块
pip upgrade
升级某模块
安装特定版本的模块
pip install SomePackage==版本号(一般格式为x.x.x)
更多命令请用pip --help
查看
conda是anaconda开发团队维护的一个多语言包管理工具,它将许多python模块中用到的C语言模块也纳入和管理范围。不过其收录的主要是科学计算相关的模块,是pip收录的模块的子集。安装这些模块时,推荐优先从conda安装。此外,它能向virtualenv一样,帮助使用者创建并管理多个相互隔离的python环境。
模块相关
conda search somepackage
查找模块是否被conda收录conda install somepackage
安装某模块conda install somepackage=x.x.x
安装某特定版本的模块conda upgrade somepackage
安装某模块conda uninstall somepackage
卸载某模块虚拟环境相关
conda env create -n envname
创建名为envname的python环境activate envname
激活名为envname虚拟环境deacivate
退出当前虚拟环境创建虚拟环境,本质是在
%anaconda%\\envs\\$envname
目录下新建了一份(相同的包通过硬连接)新环境,其目录结构和最外层的环境(root环境)一致。
激活虚拟环境后,本质是环境变量指向改变,所以所有python相关的命令行指令的“指向”均发生改变。使用pip、conda安装的模块都在此环境下,python、ipython、jupyter notebook等命令内核使用的python解释器也对应该环境。
应用举例,创建一个python3.6的环境,命名为python3,将其激活并安装anaconda:
$ conda env create -n python3 python=3.6
$ activate python3
(python3) $ conda install anaconda
得益于Anaconda项目的工作,整个python环境终于可以做到简单拷贝到相同系统的另外一台机器上直接运行,仅仅需要配置几个额外的环境变量。
环境变量Path是操作系统寻找应用程序的“地图”,Path是一系列用分号(;)隔开的文件路径,这些路径下的应用程序(Windows平台上就是.exe或者批处理文件)可以直接在命令提示符中输入其名称来调用。之前提到的在命令提示符中运行python,完整过程是操作系统在Path给出的所有路径中找到了python.exe这一文件,并运行之。
不同的人可能会将python环境放到文件系统的不同位置,此时只需要修改环境变量Path,让操作系统能找到python就好。以Anaconda2为例,%anaconda%
表示Anaconda2在硬盘上的安装路径,如D:\\Anaconda2\\
,只需将%anaconda%
(Mac为%anaconda%\\bin
)、%anaconda%\\Scripts
加入环境变量Path
路径分隔符在linux系统(包括Mac)上面不同于windows上的\而是/,请留意。
Q: Anaconda2安放路径中有中文,以及其他python2.7模块路径编码相应问题。
A:
%anaconda%\Lib\site-packages\
路径下创建sitecustomize.py
,填入以下代码,此代码在每次打开python解释器时都会被提前运行:
import sys
reload(sys)
sys.setdefaultencoding("gbk")
Q: matplotlib画图提示找不到QT插件。
A:
QT_QPA_PLATFORM_PLUGIN_PATH
,填入%anaconda%\\Library\\plugins\\platforms
conda install pyqt=5
Q: 在ipython或是jupyter notebook中画图,图片不显示。
A: 在画图代码块之前,在ipython或者jupyter notebook中运行%matplotlib inline
整个课程中使用环境中包含的python模块依赖有:
手动安装以上模块失败时怎么办。此时大部分情况是编译以上模块的c语言拓展是未安装或无法找到相关c模块依赖。解决流程一般为:
1.优先使用conda 进行安装
2.(windows系统)登录http://www.lfd.uci.edu/~gohlke/pythonlibs/下载编译好的whl文件安装
3.放弃交给IT背景人士解决,也可以上stackoverflow看看遇到过相同问题的人的求助与他人回应
PYPI仓库以及conda仓库服务均位于国外,直接安装下载速度会受到限制。墙裂推荐配置一下pip和conda的仓库镜像源,参见
TODO:
安装docker,下载安装好以上环境的jupyter server docker镜像并利用jupyter notebook连接。
(未实装)
感谢阅读完以上内容,祝您开始愉快的量化之旅~ :)