Python集成环境:Anaconda

时间:2021-10-01 08:28:53

Anaconda的选择

(部分摘自知乎)集成开发环境AnacondaCanopyPython(x,y)WinPythonSageMath

  • 首先从Python(x,y)WinPython进行比较吧:

Python(x,y)WinPython都是开源项目,其项目负责人都是Pierre Raybaut。按Pierre自己的说法是WinPython不是试图取替Python(x,y),而是出于不同动机和理念:更灵活、易于维护、可移动、对操作系统侵略性更小,但是用户友好性更差、包更少、没有同Windows资源管理器集成。Python(x,y)不是很稳定,此外看它目前的更新不是很频繁,确实有可能Pierre后来的工作重心放在WinPython上了。

  • 接着是AnacondaCanopySageMath

CanopyAnaconda是公司推的,带免费版和商业版/插件。这两款发行版也牵扯到一个人,那就是TravisSciPy的原始作者,同时也是NumPy的贡献者。Travis在2008年以副总裁身份加入Enthought,2012年以总裁的身份离开,创立了一个新公司continuum.io,并推出了Python的科学计算平台Anaconda

Anaconda相对Canopy支持Python的版本更多,对Python新版本支持跟的很紧。SageMath不支Python3.x的理由是因为其依赖的SciPy还不支持Python3,而Anaconda却实现了支持Python3.33.4,这就说明问题了),此外其在Linux平台下(通过conda管理)安装更方便。

以上部分来自知乎的撕逼说明矛盾的来源是AnacondaWinPython

那么再看:

  • 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的共存

步骤:

  1. 安装Anaconda2(最好C盘):


    Python集成环境:Anaconda
    Python集成环境:Anaconda

  2. 安装Anaconda3:和安装安装Anaconda2一样,安装在D:/Anaconda3
  3. 解决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系统的环境变量之下即可,用命令行使用python2python3,效果如下:

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
λ
  1. 解决pip和相关的命令:

至于pip和相关的命令在相关的Script目录中分别更改为pip2pip3,相关的命令如anaconda-navigator2anaconda-navigator3conda2conda3等等。如下:

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
λ

到此为止,编译的环境基本上搭建完毕!