环境搭建
# 环境搭建
# Python版本
本课程用到的Python版本都是3.x。要有一定的Python基础,知道列表、字符串、函数等的用法。
# Anaconda
Anaconda(水蟒)
是一个捆绑了Python
、conda
、其他相关依赖包的一个软件。包含了180多个可学计算包及其依赖。Anaconda3
是集成了Python3
的环境,Anaconda2
是集成了Python2
的环境。Anaconda
默认集成的包,是属于内置的Python
的包。并且支持绝大部分操作系统(比如:Windows、Mac、Linux等)。下载地址如下:https://www.anaconda.com/distribution/
(如果官网下载太慢,可以在清华大学开源软件站中下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
)。根据自己的操作系统,下载相应的版本,因为Anaconda
内置了许多的包,所以安装过程需要耗费相当长的时间,大家在安装的时候需要耐心等待。在安装完成后,会有以下几个模块:Anaconda prompt
、Anaconda Navigator
、Spyder
、jupyter notebook
,以下分别做一些介绍。
# Anaconda prompt
Anaconda prompt
是专门用来操作anaconda
的终端。如果你安装完Anaconda
后没有在环境变量的PATH
中添加相关的环境变量,那么以后你想在终端使用anaconda
相关的命令,则必须要在Anaconda prompt
中完成。
# Anaconda Navigator
这个相当于是一个导航面板,上面组织了Anaconda
相关的软件。
# Spyder
一个专门开发Python
的软件,熟悉MATLAB
的同学会比较有亲切感,但在后期的学习过程中,我们将不会使用这个工具写代码,因为还有更好的可替代的工具。
# jupyter notebook
一个Python编辑环境,可以实时的查看代码的运行效果。
# 使用jupyter notebook的方式
- 先打开
Anaconda Prompt
,然后进入到项目所在的目录。 - 输入命令
jupyter notebook
打开jupyter notebook
浏览器。
# conda基本使用
conda
伴随着Anaconda
安装而自动安装的。conda
可以跟virtualenv
一样管理不同的环境,也可以跟pip
一样管理某个环境下的包。以下来看看两个功能的用法。
# 环境管理
conda
能跟virtualenv
一样管理不同的Python
环境,不同的环境之间是互相隔离,互不影响的。为什么需要创建不同的环境呢?原因是有时候项目比较多,但是项目依赖的包不一样,比如A
项目用的是Python2
开发的,而B
项目用的是Python3
开发的,那么我们在同一台电脑上就需要两套不同的环境来支撑他们运行了。创建环境的基本命令如下:
# conda create --name [环境名称] 比如以下:
conda create --name da-env
2
这样将创建一个叫做da-env
的环境,这个环境的python
解释器根据anaconda
来,如果anaconda
为3.7
,那么将默认使用3.7
的环境,如果anaconda
内置的是2.7
,那么将默认使用2.7
的环境。然后你就可以使用conda install numpy
的方式来安装包了,并且这样安装进来的包,只会安装在当前环境中。有的同学可能有想问,如果想要装一个Python2.7
的环境,anaconda
中没有内置Python2.7
,那么该怎么实现呢?。实际上,我们只需要在安装的时候指定python
的版本,如果这个版本现在不存在,那么anaconda
会自动的给我们下载。所以安装Python2.7
的环境,使用以下代码即可实现:
conda create --name xxx python=2.7
以下再列出conda
管理环境的其他命令:
创建的时候指定需要安装的包:
conda create --name xxx numpy pandas
1创建的时候既需要指定包,也需要指定python环境:
conda create --name xxx python=3.7 numpy pandas
1进入到某个环境
windows: activate xxx mac/linux: source activate xxx
1
2退出环境:
deactivate
1列出当前所有的环境:
conda env list
1移除某个环境:
conda remove --name xxx --all
1环境下的包导出和导入:
- 导出:
conda env export > environment.yml
。 - 导入:
conda env create --name xxx -f environment.yml
。
- 导出:
# 包管理
conda
也可以用来管理包。比如我们创建完一个新的环境后,想要在这个环境中安装包(比如numpy),那么可以通过以下代码来实现:
activate xxx
conda install numpy
2
以下再介绍一些包管理常用的命令:
在不进入某个环境下直接给这个环境安装包:
conda install [包名] -n [环境名]
1列出该环境下所有的包:
conda list
1卸载某个包:
conda remove [包名]
1设置安装包的源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
1
2
3
# Jupyter notebook使用
# 常用快捷键
# 命令模式(按Esc键)
- Enter:转入编辑模式
- Shift-Enter:运行本单元,选中下个单元
- Ctrl-Enter:运行本单元
- Alt-Enter:运行本单元,在其下插入新单元
- Y:单元转入代码状态
- M:单元转入markdown状态
- R:单元转入raw状态
- 1:设定 1 级标题
- 2:设定 2 级标题
- 3:设定 3 级标题
- 4:设定 4 级标题
- 5:设定 5 级标题
- 6:设定 6 级标题
- Up:选中上方单元
- K:选中上方单元
- Down:选中下方单元
- J:选中下方单元
- Shift-K:扩大选中上方单元
- Shift-J:扩大选中下方单元
- A:在上方插入新单元
- B:在下方插入新单元
- X:剪切选中的单元
- C:复制选中的单元
- Shift-V:粘贴到上方单元
- V:粘贴到下方单元
- Z:恢复删除的最后一个单元
- D,D:删除选中的单元
- Shift-M:合并选中的单元
- Ctrl-S:文件存盘
- S:文件存盘
- L:转换行号
- O:转换输出
- Shift-O:转换输出滚动
- Esc:关闭页面
- Q:关闭页面
- H:显示快捷键帮助
- I,I:中断Notebook内核
- 0,0:重启Notebook内核
- Shift:忽略
- Shift-Space:向上滚动
- Space:向下滚动
# 编辑模式
- Tab : 代码补全或缩进
- Shift-Tab : 提示
- Ctrl-] : 缩进
- Ctrl-[ : 解除缩进
- Ctrl-A : 全选
- Ctrl-Z : 复原
- Ctrl-Shift-Z : 再做
- Ctrl-Y : 再做
- Ctrl-Home : 跳到单元开头
- Ctrl-Up : 跳到单元开头
- Ctrl-End : 跳到单元末尾
- Ctrl-Down : 跳到单元末尾
- Ctrl-Left : 跳到左边一个字首
- Ctrl-Right : 跳到右边一个字首
- Ctrl-Backspace : 删除前面一个字
- Ctrl-Delete : 删除后面一个字
- Esc : 进入命令模式
- Ctrl-M : 进入命令模式
- Shift-Enter : 运行本单元,选中下一单元
- Ctrl-Enter : 运行本单元
- Alt-Enter : 运行本单元,在下面插入一单元
- Ctrl-Shift-- : 分割单元
- Ctrl-Shift-Subtract : 分割单元
- Ctrl-S : 文件存盘
- Shift : 忽略
- Up : 光标上移或转入上一单元
- Down :光标下移或转入下一单元
# 注意事项
jupyter notebook
每一个cell
运行完后都会把这个cell
中的变量保存到内存中,如果在一个cell
中修改了之前的变量,再此运行这个cell
的时候可能会导致一些问题产生。比如以下代码:
# 第一个cell中的代码
a = 10
b = 20
# 第二个cell中的代码
c = a/b
b = 0
2
3
4
5
6
7
因为第二个cell
修改了b
变量,此时在整个环境中b
都是等于0的,所以以后再运行这个cell
的时候,a/b
这个就会出问题了。这时候可以使用Kernel->Rstart&Run All
来重新运行整个项目。