前言
为什么在这个专栏的第一篇文章,我会把一个软件或者说工具的介绍放在这里,答案是显而易见的,这个工具确实具有非常强大的功能~
Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows
的时候。
在使用anaconda
之前,我电脑上的两个python版本,python3.5
和python2.7
,一直是通过py -3
和Py -2
来区分使用的。到目前为止,python官方的python3.7
的测试版早已发布,而正式的python3.7版本也会在今年,即18年6月份就行发布,但如果我的电脑想在不删除我早已习惯的python3.5的情况下安装python3.6及3.7,毋庸置疑,管理及pip装库是一件非常复杂,困难的事情。为什么python进阶用法第一篇文章是关于anaconda
的,下面和我一起来看下anaconda
的强大管理功能~
Anaconda叙述
Anaconda
是一个用于科学计算的Python发行版
,支持 Linux
, Mac
, Windows
系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda
来进行package
和environment
的管理,并且已经包含了Python和相关的配套工具。
这里先解释下conda、anaconda这些概念的差别。conda
可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip
的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda
则是一个打包的集合,里面预装好了conda
、某个版本的python
、众多packages
、科学计算工具等等,所以也称为Python的一种发行版。
进入下文之前,说明一下conda
的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda
打破了包管理与环境管理的约束,能非常方便地安装各种版本python
、各种package
并方便地切换。
Anaconda安装
清华TUNA镜像源有Anaconda
仓库的镜像,下载起来比官网要快很多,Anaconda 镜像
下载后直接按照说明安装即可。这里想提醒一点:尽量按照Anaconda
默认的行为安装!!!
windows
安装完成后添加下path
,
这样在cmd下直接conda –version,可回显版本信息
国内加速:
# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
conda命令
Conda
的环境管理功能允许我们同时安装若干不同版本的Python
,并能自由切换
# 创建一个名为python36的环境,指定Python版本是3.6(不用管是3.6.x,conda会为我们自动寻找3.6.x中的最新版本)
conda create --name python36 python=3.6
# 安装好后,使用activate激活某个环境
activate python36 # for Windows
source activate python36 # for Linux & Mac
# 激活后,会发现terminal输入的地方多了python36的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.6对应的命令加入PATH
# 此时,再次输入
python --version
# 可以得到`Python 3.6.4 :: Anaconda 4.1.10 (64-bit)`,即系统已经切换到了3.6的环境
# 如果想返回默认的python 2.7环境,运行
deactivate python36 # for Windows
source deactivate python36 # for Linux & Mac
# 删除一个已有的环境
conda remove --name python36 --all
其他一些常用命令
# 查看当前环境下已安装的包
conda list
# 查看某个指定环境的已安装包
conda list -n python36
# 查找package信息
conda search numpy
# 安装package
conda install -n python36 numpy
# 如果不用-n指定环境名称,则被安装在当前活跃环境
# 也可以通过-c指定通过某个channel安装
# 更新package
conda update -n python36 numpy
# 删除package
conda remove -n python36 numpy
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假设当前环境是python 3.6, conda会将python升级为3.6.x系列的当前最新版本
重要功能,分享环境!!!!
如果你想把你当前的环境配置与别人分享,这样他可以快速建立一个与你一模一样的环境(同一个版本的python及各种包)来共同开发/进行新的实验。一个分享环境的快速方法就是给他一个你的环境的.yml
文件。
首先通过activate
target_env
要分享的环境target_env
,然后输入下面的命令会在当前工作目录下生成一个environment.yml
文件,
conda env export > environment.yml
小伙伴拿到environment.yml
文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境
conda env create -f environment.yml
常用编辑器与IDA
Sublime text3
1 .打开Sublime Text 3,工具–>编译系统–>新编译系统,就会打开文件sublime-build
,
2 . 修改以下内容:
{
"cmd": ["python", "-u", "$file"],
"path":"F:/Program Files/Python27",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
把path
里面的内容修改为Anaconda
编译器的安装目录E:/Anaconda3
即可。保存文件并命名为Anaconda3.sublime-build
,文件自动保存在E:\SublimeText3\Data\Packages\User
目录下,此时在sublime
的工具-> 编译系统中就会有Anaconda3
,就选择这个编译环境,ctrl+b
便可以运行python代码了。
注意:另加python,如python27,在E:\Anaconda3\envs\python27
目录下,新建并上述path及名字相应替换即可
指的注意的另一点,如果你使用了sublime
的anaconda
插件,也遇到了这样的报错:
<Anaconda.anaconda_lib.workers.local_worker.LocalWorker object at 0x7f9ce2ad9390>
try to set the ‘swallow_startup_errors’ to ‘true’
在pycharm中配置anaconda的解释器
具体做法是:File->Default settings->Default project->project interpreter
接着点击 project interpreter
的右边的小齿轮,选择 add local
,选择anaconda
文件路径下的python.exe
。接着pycharm
会更新解释器,导入模块等,要稍等一点时间。