Anaconda的选择
(部分摘自知乎)集成开发环境
Anaconda
、Canopy
、Python(x,y)
、WinPython
、SageMath
- 首先从
Python(x,y)
和WinPython
进行比较吧:
Python(x,y)
和WinPython
都是开源项目,其项目负责人都是Pierre Raybaut
。按Pierre
自己的说法是WinPython不是试图取替Python(x,y)
,而是出于不同动机和理念:更灵活、易于维护、可移动、对操作系统侵略性更小,但是用户友好性更差、包更少、没有同Windows资源管理器集成。
。Python(x,y)
不是很稳定,此外看它目前的更新不是很频繁,确实有可能Pierre
后来的工作重心放在WinPython
上了。
- 接着是
Anaconda
、Canopy
、SageMath
Canopy
和Anaconda
是公司推的,带免费版和商业版/插件。这两款发行版也牵扯到一个人,那就是Travis
是SciPy
的原始作者,同时也是NumPy
的贡献者。Travis
在2008年以副总裁身份加入Enthought
,2012年以总裁的身份离开,创立了一个新公司continuum.io
,并推出了Python的科学计算平台Anaconda
。
Anaconda
相对Canopy
支持Python
的版本更多,对Python
新版本支持跟的很紧。SageMath
不支Python3.x
的理由是因为其依赖的SciPy
还不支持Python3
,而Anaconda
却实现了支持Python3.3
和3.4
,这就说明问题了),此外其在Linux平台下(通过conda管理)安装更方便。
以上部分来自知乎的撕逼说明矛盾的来源是Anaconda
和WinPython
那么再看:
-
WinPython
脱胎于Pythonxy
,面向科学计算,兼顾数据分析与挖掘 - 而
Anaconda
主要面向数据分析与挖掘方面,在大数据处理方面有自己特色的一些包, 据说在极大的矩阵运算方面速度很快。 -
WinPython
强调便携性,被做成绿色软件,不写入注册表,安装其实就是解压到某个文件夹,移动文件夹甚至放到U盘里在其他电脑上也能用。 -
Anaconda
则算是传统的软件模式。 -
WinPython
是由个人维护; -
Anaconda
是由一家数据分析服务公司维护;这个区别意味着WinPython
在很多方面都从简,而Anaconda
会提供一些人性化设置。 -
WinPython
只能在windows
上用,Anaconda
则有linux
的版本。大致就这些,其实两个集成平台最大的区别还是其集成的软件包的区别,在windows
下装python
的包容易出问题,你需要哪些包,而其中一个有,那就选那个。抛开软件包的差异,我个人推荐初学者用WinPython
,我觉得它似乎正因为其简单,问题也少点,由于便携性的特点系统坏了,重装后也能直接用。最后一个建议,用python时间长了,最终还是会在linux下用的。windows下太缚手缚脚了。
很明显的Anaconda
是现在及未来较好的选择。
至于说Anaconda
的源在国外,使用pip
不太方便,可以用conda
进行切换到清华大学的源或者豆瓣的源,用法如下:
- conda使用清华大学的源
conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
conda config --set show_channel_urls yes
- pip使用豆瓣的源
pip install package.name -i https://pypi.douban.com/simple/
配置 Windows+Anaconda2&3
在WINDOWS下实现Python2和Python3的共存
步骤:
-
安装Anaconda2(最好C盘):
- 安装Anaconda3:和安装安装Anaconda2一样,安装在D:/Anaconda3
解决python2和python3的冲突:
在两个版本的python下面分别新建
py2.bat
(或者python2.bat
)文件,和py3.bat
(或者python3.bat
)文件
注:
bat文件
是windows
下的dos批处理文件
,包含着dos命令
py2.bat
:
C:\Anaconda2\python.exe %*
py3.bat
:
C:\Anaconda3\python.exe %*
事实上只要新建的两个文件能在
Windows
系统的环境变量之下即可,用命令行使用python2
和python3
,效果如下:
C:\Users\oneTOinf
λ python2
D:\ProgramData\Anaconda2\python.exe
Python 2.7.13 |Anaconda 4.3.1 (64-bit)| (default, Dec 19 2016, 13:29:36) [MSC v.1500 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> exit()
C:\Users\oneTOinf
λ python3
Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\Users\oneTOinf
λ
- 解决pip和相关的命令:
至于
pip
和相关的命令在相关的Script目录
中分别更改为pip2
和pip3
,相关的命令如anaconda-navigator2
和anaconda-navigator3
,conda2
和conda3
等等。如下:
C:\Users\oneTOinf
λ pip2
Usage:
pip <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
help Show help for commands.
General Options:
-h, --help Show help.
--isolated Run pip in an isolated mode, ignoring
environment variables and user configuration.
-v, --verbose Give more output. Option is additive, and can be
used up to 3 times.
-V, --version Show version and exit.
-q, --quiet Give less output. Option is additive, and can be
used up to 3 times (corresponding to WARNING,
ERROR, and CRITICAL logging levels).
--log <path> Path to a verbose appending log.
--proxy <proxy> Specify a proxy in the form
[user:passwd@]proxy.server:port.
--retries <retries> Maximum number of retries each connection should
attempt (default 5 times).
--timeout <sec> Set the socket timeout (default 15 seconds).
--exists-action <action> Default action when a path already exists:
(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
--trusted-host <hostname> Mark this host as trusted, even though it does
not have valid or any HTTPS.
--cert <path> Path to alternate CA bundle.
--client-cert <path> Path to SSL client certificate, a single file
containing the private key and the certificate
in PEM format.
--cache-dir <dir> Store the cache data in <dir>.
--no-cache-dir Disable the cache.
--disable-pip-version-check
Don't periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with --no-index.
C:\Users\oneTOinf
λ
到此为止,编译的环境基本上搭建完毕!