zl程序教程

您现在的位置是:首页 >  Java

当前栏目

环境搭建

2023-02-18 16:40:55 时间

# 环境搭建

# Python版本

本课程用到的Python版本都是3.x。要有一定的Python基础,知道列表、字符串、函数等的用法。


# Anaconda

Anaconda(水蟒)是一个捆绑了Pythonconda、其他相关依赖包的一个软件。包含了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 promptAnaconda NavigatorSpyderjupyter notebook,以下分别做一些介绍。

# Anaconda prompt

Anaconda prompt是专门用来操作anaconda的终端。如果你安装完Anaconda后没有在环境变量的PATH中添加相关的环境变量,那么以后你想在终端使用anaconda相关的命令,则必须要在Anaconda prompt中完成。

# Anaconda Navigator

这个相当于是一个导航面板,上面组织了Anaconda相关的软件。

# Spyder

一个专门开发Python的软件,熟悉MATLAB的同学会比较有亲切感,但在后期的学习过程中,我们将不会使用这个工具写代码,因为还有更好的可替代的工具。

# jupyter notebook

一个Python编辑环境,可以实时的查看代码的运行效果。

# 使用jupyter notebook的方式

  1. 先打开Anaconda Prompt,然后进入到项目所在的目录。
  2. 输入命令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

这样将创建一个叫做da-env的环境,这个环境的python解释器根据anaconda来,如果anaconda3.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

创建的时候既需要指定包,也需要指定python环境:

 conda create --name xxx python=3.7 numpy pandas

进入到某个环境

 windows: activate xxx
 mac/linux: source activate xxx

退出环境:

 deactivate

列出当前所有的环境:

 conda env list

移除某个环境:

 conda remove --name xxx --all

环境下的包导出和导入:

  • 导出:conda env export > environment.yml
  • 导入:conda env create --name xxx -f environment.yml

# 包管理

conda也可以用来管理包。比如我们创建完一个新的环境后,想要在这个环境中安装包(比如numpy),那么可以通过以下代码来实现:

activate xxx
conda install numpy

以下再介绍一些包管理常用的命令:

在不进入某个环境下直接给这个环境安装包:

conda install [包名] -n [环境名]

列出该环境下所有的包:

 conda list

卸载某个包:

 conda remove [包名]

设置安装包的源:

 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

# Jupyter notebook使用

# 常用快捷键

# 命令模式(按Esc键)

  1. Enter:转入编辑模式
  2. Shift-Enter:运行本单元,选中下个单元
  3. Ctrl-Enter:运行本单元
  4. Alt-Enter:运行本单元,在其下插入新单元
  5. Y:单元转入代码状态
  6. M:单元转入markdown状态
  7. R:单元转入raw状态
  8. 1:设定 1 级标题
  9. 2:设定 2 级标题
  10. 3:设定 3 级标题
  11. 4:设定 4 级标题
  12. 5:设定 5 级标题
  13. 6:设定 6 级标题
  14. Up:选中上方单元
  15. K:选中上方单元
  16. Down:选中下方单元
  17. J:选中下方单元
  18. Shift-K:扩大选中上方单元
  19. Shift-J:扩大选中下方单元
  20. A:在上方插入新单元
  21. B:在下方插入新单元
  22. X:剪切选中的单元
  23. C:复制选中的单元
  24. Shift-V:粘贴到上方单元
  25. V:粘贴到下方单元
  26. Z:恢复删除的最后一个单元
  27. D,D:删除选中的单元
  28. Shift-M:合并选中的单元
  29. Ctrl-S:文件存盘
  30. S:文件存盘
  31. L:转换行号
  32. O:转换输出
  33. Shift-O:转换输出滚动
  34. Esc:关闭页面
  35. Q:关闭页面
  36. H:显示快捷键帮助
  37. I,I:中断Notebook内核
  38. 0,0:重启Notebook内核
  39. Shift:忽略
  40. Shift-Space:向上滚动
  41. Space:向下滚动

# 编辑模式

  1. Tab : 代码补全或缩进
  2. Shift-Tab : 提示
  3. Ctrl-] : 缩进
  4. Ctrl-[ : 解除缩进
  5. Ctrl-A : 全选
  6. Ctrl-Z : 复原
  7. Ctrl-Shift-Z : 再做
  8. Ctrl-Y : 再做
  9. Ctrl-Home : 跳到单元开头
  10. Ctrl-Up : 跳到单元开头
  11. Ctrl-End : 跳到单元末尾
  12. Ctrl-Down : 跳到单元末尾
  13. Ctrl-Left : 跳到左边一个字首
  14. Ctrl-Right : 跳到右边一个字首
  15. Ctrl-Backspace : 删除前面一个字
  16. Ctrl-Delete : 删除后面一个字
  17. Esc : 进入命令模式
  18. Ctrl-M : 进入命令模式
  19. Shift-Enter : 运行本单元,选中下一单元
  20. Ctrl-Enter : 运行本单元
  21. Alt-Enter : 运行本单元,在下面插入一单元
  22. Ctrl-Shift-- : 分割单元
  23. Ctrl-Shift-Subtract : 分割单元
  24. Ctrl-S : 文件存盘
  25. Shift : 忽略
  26. Up : 光标上移或转入上一单元
  27. Down :光标下移或转入下一单元

# 注意事项

jupyter notebook每一个cell运行完后都会把这个cell中的变量保存到内存中,如果在一个cell中修改了之前的变量,再此运行这个cell的时候可能会导致一些问题产生。比如以下代码:

# 第一个cell中的代码
a = 10
b = 20

# 第二个cell中的代码
c = a/b
b = 0

因为第二个cell修改了b变量,此时在整个环境中b都是等于0的,所以以后再运行这个cell的时候,a/b这个就会出问题了。这时候可以使用Kernel->Rstart&Run All来重新运行整个项目。