目录

Docker_learning

Anaconda学习指南


[toc]

0x00 功能简介

Anaconda 是一个用于科学计算的 Python 发行版,可以便捷获取包、对包进行管理,对环境进行统一管理

组件:

Jupyter notebook

IPython

Conda

0x01 安装及配置

下载

清华大学镜像源Anaconda仓库进行下载

安装

Windows

使用图形界面双击安装,选择Install for All Users,勾选添加Anaconda至环境变量

Linux

下载完成之后,进入到下载目录,执行如下命令安装,并一路按回车即可

bash Anaconda3-xxx-Linux-x86_64.sh

改用清华大学镜像源

  1. 通过修改用户目录下的.condarc文件添加清华大学镜像源的Anaconda Python仓库

其中Windows系统需要先执行如下命令生成.condarc文件

conda config --set show_channel_urls yes
  1. 修改.condarc文件

    channels:
      - defaults
    show_channel_urls: true
    channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
    default_channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    custom_channels:
      conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    
  2. 修改完成后,执行 conda clean -i 清除旧的索引缓存

  3. 使用conda安装第三方库

    conda install tensorflow
    

升级

conda update conda
conda update anaconda=VersionNumber    # conda update anaconda=2020.02
conda update --all                     # 升级所有的软件包
conda update -n myenv --all            # 升级指定环境的软件包

代理

# 设置apt代理
# /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://150.68.xx.xxx:xxxxx";
Acquire::https::Proxy "http://150.68.xx.xxx:xxxxx";

# 设置conda代理
# ~/.condarc  后面追加
proxy_servers:
  http: http://150.68.xx.xxx:xxxxx
  https: http://150.68.xx.xxx:xxxxx

# 设置pip代理
# ~/.config/pip/pip.ini
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
proxy = http://150.68.xx.xxx:xxxxx

0x02 conda

conda是开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系。其作用:

  • 查找 / 搜索Anaconda软件包索引
  • 创建新的conda环境
  • 为conda环境安装及升级软件包

使用conda config --show可查看conda相关配置选项。

包管理

conda search scipy                                      # 搜索软件包
conda install scipy                                     # 安装指定软件包
conda build my_fun_package                              # 创建自定义软件包
conda update scipy                                      # 升级软件包
conda remove scipy                                      # 删除软件包
conda install --channel $URL $PACKAGE_NAME              # 从指定源安装软件包

环境管理

conda env list                                         # 查看环境列表
conda info --envs                                      # 等价于conda env list
conda create -n myenv python=3.7 numpy scipy           # 创建新环境,指定python版本号,创建时安装指定包
conda activate myenv                                   # 进入到已有的虚拟环境
conda deactivate myenv                                 # 退出当前虚拟环境
conda remove -n myenv --all                            # 删除虚拟环境
conda create -n new_env --clone myenv                  # 从已有的环境中复制出一个新的环境
conda list -n myenv                                    # 查看指定虚拟环境下已安装的包
conda update -n myenv scipy                            # (未进入环境时)更新指定虚拟环境下的scipy包
conda remove -n myenv scipy                            # 删除指定虚拟环境下的scipy包
conda env export -n myenv > environment.yml            # 将指定的虚拟环境导出为yml文件
conda env create -f environment.yml                    # 根据yml文件创建新的虚拟环境
conda env update -f environment.yml                    # 根据yml文件更新已有的虚拟环境

0x03 Jupyter notebook

IPython

加强版Python解释器,具有交互性

方便在数据分析编码工作时进行探索、试验、试错、遍历

成为Jupyter的一个组件

运行

> ipython
In [1]:

Jupyter notebook

基于web的代码笔记本

交互式的文档类型

可用于编写代码、文本、数据可视化以及其他输出

启动

jupyter notebook

启动之后会自动打开浏览器。访问url: http://localhost:8888/tree

.\Anaconda学习指南.assets\image-20200707183042428.png

创建笔记

依次点击 newPython3 创建

.\Anaconda学习指南.assets\image-20200707183516865.png

快捷键

Jupyter笔记本有两种不同的键盘输入模式。

编辑模式允许您将代码或文本输入到一个单元格中,并通过一个绿色的单元格来表示

命令模式将键盘与笔记本级命令绑定在一起,并通过一个灰色的单元格边界显示,该边框为蓝色的左边框

命令模式

边框为蓝色时即为命令模式

.\Anaconda学习指南.assets\image-20200707184706068.png

编辑模式

边框为绿色时即为编辑模式

.\Anaconda学习指南.assets\image-20200707184751426.png

Tab补全

  • 为任意变量、对象、函数等搜做命名空间
  • 输入英文句号 . 之后,对对象的方法、属性的名称进行补全,或对模块的函数进行补全
  • 对任意路径进行补全

对象内省

在变量名的前后使用问号(?)可以显示该对象的概要信息

使用单问号 ? 可以显示文档字符串

In [4]: a = [1,2,3]

In [5]: a?
Type:        list
String form: [1, 2, 3]
Length:      3
Docstring:
Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.

In [6]: print?
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:  a file-like object (stream); defaults to the current sys.stdout.
sep:   string inserted between values, default a space.
end:   string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
Type:      builtin_function_or_method

使用双问号 ?? 可以显示函数的源代码

搭配通配符(星号*),可以实现模糊搜索命名空间

In [12]: np.*load*?
np.__loader__
np.load
np.loads
np.loadtxt

%run