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
改用清华大学镜像源
- 通过修改用户目录下的
.condarc
文件添加清华大学镜像源的Anaconda Python仓库
其中Windows系统需要先执行如下命令生成
.condarc
文件conda config --set show_channel_urls yes
-
修改
.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
-
修改完成后,执行
conda clean -i
清除旧的索引缓存 -
使用
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
创建笔记
依次点击 new
→ Python3
创建
快捷键
Jupyter笔记本有两种不同的键盘输入模式。
编辑模式允许您将代码或文本输入到一个单元格中,并通过一个绿色的单元格来表示
命令模式将键盘与笔记本级命令绑定在一起,并通过一个灰色的单元格边界显示,该边框为蓝色的左边框
命令模式
边框为蓝色时即为命令模式
编辑模式
边框为绿色时即为编辑模式
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