导图社区 Anaconda
Anaconda就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含 了conda, numpy, scipy, ipython notebook、Python在内的超过180个科学包及其依赖项。
编辑于2022-09-26 20:40:54 四川省listener 音标['lisnә] 读音 汉语翻译 n. 收听者, 听众 英语解释: 名词listener: someone who listens attentively 同义词:hearer, auditor, attender
Filter过滤器(重要) Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作。 1、Filter快速入门 1.1、步骤: 1. 创建一个类实现Filter接口 2. 重写接口中方法 d...
会话的解释 [conversation] 指两人以上的对话(多用于学习别种语言或方言时) 详细解释 (1).聚谈;对话。现多用于学习别种语言或方言时
社区模板帮助中心,点此进入>>
listener 音标['lisnә] 读音 汉语翻译 n. 收听者, 听众 英语解释: 名词listener: someone who listens attentively 同义词:hearer, auditor, attender
Filter过滤器(重要) Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作。 1、Filter快速入门 1.1、步骤: 1. 创建一个类实现Filter接口 2. 重写接口中方法 d...
会话的解释 [conversation] 指两人以上的对话(多用于学习别种语言或方言时) 详细解释 (1).聚谈;对话。现多用于学习别种语言或方言时
Anaconda
介绍
Anaconda就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda, numpy, scipy, ipython notebook、Python在内的超过180个科学包及其依赖项。
官网下载
https://www.anaconda.com/
清华镜像
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
conda与pip
conda
介绍
conda是包及其依赖项和环境的管理工具,conda包和环境管理器包含于Anaconda的所有版本当中
适用语言
Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN
适用平台
Windows, macOS, Linux
用途
快速安装、运行和升级包及其依赖项
在计算机中便捷地创建、保存、加载和切换环境
基本操作
前提
以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”;macOS和Linux用户请打开“Terminal”(“终端”)进行操作
验证conda已被安装
命令
conda --version
注意
如果出现错误信息,则需核实是否出现以下情况:
使用的用户是否是安装Anaconda时的账户
是否在安装Anaconda之后重启了终端
更新conda至最新版本
命令
conda update conda
注意
执行命令后,conda将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本
当较新的版本可以用于升级时,终端会显示 Proceed ([y]/n)? ,此时输入 y 即可进行升级
查看conda帮助信息
命令
conda --help
conda -h
卸载conda
Linux 或 macOS
命令
rm -rf ~/anaconda2
rm -rf ~/anaconda3
即删除Anaconda的安装目录。根据安装的Anaconda版本选择相应的卸载命令。
Windows
控制面板 → 添加或删除程序 → 选择“Python X.X (Anaconda)” → 点击“删除程序”
pip
介绍
pip是用于安装和管理软件包的包管理器
pip编写语言:Python
Python中默认安装的版本
Python 2.7.9及后续版本:默认安装,命令为 pip
Python 3.4及后续版本:默认安装,命令为 pip3
pip 与 conda 比较
依赖项检查
conda
列出所需其他依赖包
安装包时自动安装其依赖项
可以便捷地在包的不同版本中自由切换
pip
不一定会展示所需其他依赖包
安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误
环境管理
conda
比较方便地在不同环境之间进行切换,环境管理较为简单
pip
维护多个环境难度较大
对系统自带Python的影响
conda
不会影响系统自带Python
pip
在系统自带Python中包的更新/回退版本/卸载将影响其他程序
适用语言
conda
适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN
pip
仅适用于Python
管理环境
前提
以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”;macOS和Linux用户请打开“Terminal”(“终端”)进行操作
创建新环境
命令
conda create --name <env_name> <package_names>
注意
<env_name> 即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>”
<package_names> 即安装在环境中的包名。名称两边不加尖括号“<>”
如果要安装指定的版本号,则只需要在包名后面以 = 和版本号的形式执行。如: conda create --name python2 python=2.7 ,即创建一个名为“python2”的环境,环境中安装版本为2.7的python
--name 同样可以替换为 -n
如果要在新创建的环境中创建多个包,则直接在 <package_names> 后以空格隔开,添加多个包名即可。如: conda create -n python3 python=3.5 numpy pandas ,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas
默认情况下,新创建的环境将会被保存在 /Users/<user_name>/anaconda3/env 目录下,其中, <user_name> 为当前用户的用户名
切换环境
命令
Linux 或 macOS
source activate <env_name>
Windows
activate <env_name>
注意
如果创建环境后安装Python时没有指定Python的版本,那么将会安装与Anaconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python 2.x;如果安装Anaconda第3版,则会自动安装Python 3.x。
当成功切换环境之后,在该行行首将以“(env_name)”或“[env_name]”开头。其中,“env_name”为切换到的环境名。如:在macOS系统中执行 source active python2 ,即切换至名为“python2”的环境,则行首将会以(python2)开头。
退出环境至root
命令
Linux 或 macOS
source deactivate
Windows
deactivate
注意
当执行退出当前环境,回到root环境命令后,原本行首以“(env_name)”或“[env_name]”开头的字符将不再显示。
显示已创建环境
命令
conda info --envs
conda info -e
conda env list
例子
结果中星号“*”所在行即为当前所在环境。macOS系统中默认创建的环境名为“base”
复制环境
命令
conda create --name <new_env_name> --clone <copied_env_name>
注意
<copied_env_name> 即为被复制/克隆环境名。环境名两边不加尖括号“<>”
<new_env_name> 即为复制之后新环境的名称。环境名两边不加尖括号“<>”
conda create --name py2 --clone python2 ,即为克隆名为“python2”的环境,克隆后的新环境名为“py2”。此时,环境中将同时存在“python2”和“py2”环境,且两个环境的配置相同
删除环境
命令
conda remove --name <env_name> --all
注意
<env_name> 为被删除环境的名称。环境名两边不加尖括号“<>”
管理包
查找可供安装的包版本
精确查找
命令
conda search --full-name <package_full_name>
注意
--full-name 为精确查找的参数
<package_full_name> 是被查找包的全名。包名两边不加尖括号“<>”
例子
conda search --full-name python 即查找全名为“python”的包有哪些版本可供安装
模糊查找
命令
conda search <text>
注意
<text> 是查找含有此字段的包名。此字段两边不加尖括号“<>”
例子
conda search py 即查找含有“py”字段的包,有哪些版本可供安装
获取当前环境中已安装的包信息
命令
conda list
安装包
在指定环境中安装包
命令
conda install --name <env_name> <package_name>
注意
<env_name> 即将包安装的指定环境名。环境名两边不加尖括号“<>”
<package_name> 即要安装的包名。包名两边不加尖括号“<>”
例子
conda install --name python2 pandas 即在名为“python2”的环境中安装pandas包
在当前环境中安装包
命令
conda install <package_name>
注意
<package_name> 即要安装的包名。包名两边不加尖括号“<>”
执行命令后在当前环境中安装包
例子
conda install pandas 即在当前环境中安装pandas包
使用pip安装包
使用场景
当使用 conda install 无法进行安装时,可以使用pip进行安装。例如:see包
命令
pip install <package_name>
例子
pip install see 即安装see包
注意
pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包
pip无法更新python,因为pip并不将python视为包
pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令
从http://Anaconda.org安装包
参考印象笔记中教程
卸载包
卸载指定环境中的包
命令
conda remove --name <env_name> <package_name>
例子
conda remove --name python2 pandas 即卸载名为“python2”中的pandas包
卸载当前环境中的包
命令
conda remove <package_name>
例子
conda remove pandas 即在当前环境中卸载pandas包
更新包
更新所有包
命令
conda update --all
conda upgrade --all
建议
在安装Anaconda之后执行上述命令更新Anaconda中的所有包至最新版本,便于使用
更新指定包
命令
conda update <package_name>
conda upgrade <package_name>
例子
更新多个指定包,则包名以空格隔开,向后排列。如: conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包
Jupyter Notebook
介绍
Jupyter Notebook(此前被称为IPython notebook)是一个基于网页的交互式笔记本,支持运行多种编程语言
主要特点
编程时具有语法高亮、缩进、tab补全的功能
可直接通过浏览器运行代码,同时在代码块下方展示运行结果
以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等
对代码编写说明文档或语句时,支持Markdown语法
支持使用LaTeX编写数学性说明
组成部分
网页应用
网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具
文档
Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的
这些文档是保存为后缀名为.ipynb的JSON格式文件,不仅便于版本控制,也方便与他人共享
此外,文档还可以导出为:HTML、LaTeX、PDF等格式
运行Jupyter Notebook
启动
默认端口启动
命令
jupyter notebook
注意
之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦
浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号
如果同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……
指定端口启动
命令
jupyter notebook --port <port_number>
其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”
例子
jupyter notebook --port 9999,即在端口号为“9999”的服务器启动Jupyter Notebook
启动服务器但不打开浏览器
命令
jupyter notebook --no-browser
启动后浏览器主页面
此时里边的文件夹全都是家目录里的目录文件
终端查看
cd 或 cd - 或 cd ~ 或cd /Users/<user_name>
这个命令将会进入家目录
“<user_name>” 是用户名。用户名两边不加尖括号“<>”。
ls
这个命令将会展示家目录下的文件
设置Jupyter Notebook文件存放位置
创建文件夹/目录
Windows
在想要存放Jupyter Notebook文件的磁盘中新建文件夹并为该文件夹命名;双击进入该文件夹,然后复制地址栏中的路径
注意
目录转义问题
python在描述路径
转义的方式
'd:\\a.txt'
显式声明字符串不用转义
'd:r\a.txt'
使用Linux的路径/
'd:/a.txt'
打开Jupyter Noterbook “属性” ,修改 “目录(T)” 中的内容
配置文件路径
获取配置文件所在路径
命令
jupyter notebook --generate-config
这条命令虽然可以用于查看配置文件所在的路径,但主要用途是是否将这个路径下的配置文件替换为默认配置文件。 如果你是第一次查询,那么或许不会出现下图的提示;若文件已经存在或被修改,使用这个命令之后会出现询问“Overwrite /Users/raxxie/.jupyter/jupyter_notebook_config.py with default config? [y/N]”,即“用默认配置文件覆盖此路径下的文件吗?”,如果按“y”,则完成覆盖,那么之前所做的修改都将失效;如果只是为了查询路径,那么一定要输入“N”。
常规的情况下
Windows系统的配置文件路径
C:\Users\<user_name>\.jupyter\
Linux/macOS系统的配置文件路径
/Users/<user_name>/.jupyter/ 或 ~/.jupyter/
配置文件名
jupyter_notebook_config.py
注意
如果不是通过一步到位的方式前往配置文件所在位置,而是一层一层进入文件夹/目录的,那么当进入家目录后,用ls命令会发现找不到“.jupyter”文件夹/目录。这是因为凡是以“.”开头的目录都是隐藏文件,你可以通过ls -a命令查看当前位置下所有的隐藏文件。
修改配置文件
Windows
可以使用文档编辑工具或IDE打开“jupyter_notebook_config.py”文件并进行编辑。常用的文档编辑工具和IDE有记事本、Notepad++、vim、SublimeText、PyCharm等
Linux/macOS 通过终端调用vim修改
打开配置文件
vim ~/.jupyter/jupyter_notebook_config.py
查找关键词
进入配置文件后不要按其他键,用英文半角直接输入/c.NotebookApp.notebook_dir,这时搜索的关键词已在文档中高亮显示了,按回车,光标从底部切换到文档正文中被查找关键词的首字母
编辑配置文件
按小写i进入编辑模式,底部出现“--INSERT--”说明成功进入编辑模式。使用方向键把光标定位在第二个单引号上(光标定位在哪个字符,就在这个字符前开始输入),把“创建文件夹/目录”步骤中复制的路径粘贴在此处
取消注释
把该行行首的井号(#)删除。因为配置文件是Python的可执行文件,在Python中,井号(#)表示注释,即在编译过程中不会执行该行命令,所以为了使修改生效,需要删除井号(#)
保存配置文件
先按esc键,从编辑模式退出,回到命令模式
再用英文半角直接输入:wq,回车即成功保存且退出了配置文件
验证
在终端中输入命令jupyter notebook打开Jupyter Notebook,此时会看到一个清爽的界面
基本操作
Files页面
“Conda”和“Nbextensions”类目需要额外安装
Files页面是用于管理和创建文件相关的类目
对于现有的文件,可以通过勾选文件的方式,对选中文件进行复制、重命名、移动、下载、查看、编辑和删除的操作。同时,也可以根据需要,在“New”下拉列表中选择想要创建文件的环境,进行创建“ipynb”格式的笔记本、“txt”格式的文档、终端或文件夹。
笔记本
页面
单元格的状态
代码状态
Markdown编写状态
笔记本重命名
笔记本内部重命名
在使用笔记本时,可以直接在其内部进行重命名。在左上方“Jupyter”的图标旁有程序默认的标题“Untitled”,点击“Untitled”然后在弹出的对话框中输入自拟的标题,点击“Rename”即完成了重命名。
笔记本外部重命名
若在使用笔记本时忘记了重命名,且已经保存并退出至“Files”界面,则在“Files”界面勾选需要重命名的文件,点击“Rename”然后直接输入自拟的标题即可。
Running页面
Running页面主要展示的是当前正在运行当中的终端和“ipynb”格式的笔记本。若想要关闭已经打开的终端和“ipynb”格式的笔记本,仅仅关闭其页面是无法彻底退出程序的,需要在Running页面点击其对应的“Shutdown”。
Clusters页面
Clusters类目现在已由IPython parallel对接,且由于现阶段使用频率较低,因此在此不做详细说明,想要了解更多可以访问IPython parallel的官方网站
Conda页面
Conda页面主要是Jupyter Notebook与Conda关联之后对Conda环境和包进行直接操作和管理的页面工具。
Nbextensions页面
Nbextensions页面提供了多个Jupyter Notebook的插件,使其功能更加强大。该页面中主要使用的插件有nb_conda,nb_present,Table of Contents(2)。
Jupyter Notebook快捷键
Mac与Windows特殊按键对照表
笔记本的两种模式
命令模式
介绍
命令模式将键盘命令与Jupyter Notebook笔记本命令相结合,可以通过键盘不同键的组合运行笔记本的命令
按esc键进入命令模式
命令模式下,单元格边框为灰色,且左侧边框线为蓝色粗线条。
编辑模式
介绍
编辑模式使用户可以在单元格内编辑代码或文档
按enter或return键进入编辑模式
编辑模式下,单元格边框和左侧边框线均为绿色
关闭和退出
关闭笔记本和终端
只关闭笔记本不关闭终端
进入"Files"页面。
勾选想要关闭的“ipynb"笔记本。正在运行的笔记本其图标为绿色,且后边标有“Running"字样;已经关闭的笔记本其图标为灰色。
点击上方的黄色的"Shutdown"按钮。
成功关闭笔记本。
关闭任何正在运行的终端和笔记本
进入“Running"页面。
第一栏是“Terminals”,即所有正在运行的终端均会在此显示;第二栏是"Notebooks",即所有正在运行的"ipynb”笔记本均会在此显示。
点击想要关闭的终端或笔记本后黄色“Shutdown"按钮。
成功关闭终端或笔记本。
退出Jupyter Notebook程序
命令
Mac
control c
Windows
ctrl c
在终端上会提示:“Shutdown this notebook server (y/[n])?”输入y即可关闭服务器,这才是彻底退出了Jupyter Notebook程序
拓展功能
关联Jupyter Notebook和conda
安装
命令
conda install nb_conda
注意
执行上述命令能够将你conda创建的环境与Jupyter Notebook相关联,便于你在Jupyter Notebook的使用中,在不同的环境下创建笔记本进行工作
使用
可以在Conda类目下对conda环境和包进行一系列操作
可以在笔记本内的“Kernel”类目里的“Change kernel”切换内核
卸载
命令
canda remove nb_conda
Markdown生成目录
介绍
不同于有道云笔记的Markdown编译器,Jupyter Notebook无法为Markdown文档通过特定语法添加目录,因此需要通过安装扩展来实现目录的添加
命令
conda install -c conda-forge jupyter_contrib_nbextensions
注意
执行上述命令后,启动Jupyter Notebook,你会发现导航栏多了“Nbextensions”的类目,点击“Nbextensions”,勾选“Table of Contents ⑵”
之后再在Jupyter Notebook中使用Markdown,点击下图的图标即可使用啦
效果
加载指定网页源代码
使用场景
想要在Jupyter Notebook中直接加载指定网站的源代码到笔记本中
命令
%load URL
加载本地Python文件
使用场景
想在Jupyter Notebook中加载本地的Python文件并执行文件代码
命令
%load Python文件的绝对路径
注意
Python文件的后缀为“.py”
“%load”后跟的是Python文件的绝对路径
输入命令后,可以按CTRL 回车来执行命令。第一次执行,是将本地的Python文件内容加载到单元格内。此时,Jupyter Notebook会自动将“%load”命令注释掉(即在前边加井号“#”),以便在执行已加载的文件代码时不重复执行该命令;第二次执行,则是执行已加载文件的代码
直接运行本地Python文件
使用场景
不想在Jupyter Notebook的单元格中加载本地Python文件,想要直接运行
命令
%run Python文件的绝对路径
!python3 Python文件的绝对路径
!python Python文件的绝对路径
注意
%run”后跟的是Python文件的绝对路径
“!python3”用于执行Python 3.x版本的代码
“!python”用于执行Python 2.x版本的代码
“!python3”和“!python”属于 !shell命令 语法的使用,即在Jupyter Notebook中执行shell命令的语法
输入命令后,可以按 control return 来执行命令,执行过程中将不显示本地Python文件的内容,直接显示运行结果
在Jupyter Notebook中获取当前位置
使用场景
想要在Jupyter Notebook中获取当前所在位置的绝对路径
命令
%pwd
!pwd
注意
获取的位置是当前Jupyter Notebook中创建的笔记本所在位置,且该位置为绝对路径
“!pwd”属于 !shell命令 语法的使用,即在Jupyter Notebook中执行shell命令的语法
在Jupyter Notebook使用shell命令
在笔记本的单元格中
语法
!shell命令
在Jupyter Notebook中的笔记本单元格中用英文感叹号“!”后接shell命令即可执行shell命令
在Jupyter Notebook中新建终端
启动
在Jupyter Notebook主界面,即“File”界面中点击“New”;在“New”下拉框中点击“Terminal”即新建了终端。此时终端位置是在你的家目录,可以通过pwd命令查询当前所在位置的绝对路径
关闭
在Jupyter Notebook的“Running”界面中的“Terminals”类目中可以看到正在运行的终端,点击后边的“Shutdown”即可关闭终端
自用版本
Anaconda3-5.2.0
python 3.6.5
opencv-python 3.4.1.15
opencv-contrib-python 3.4.1.15
conda 4.10.3