Jupyter + Miniconda + VsCode 学习利器
Jupyter + Miniconda + VsCode 学习利器
- Jupyter Notebook 是基于网页的用于交互计算的应用程序。
- Miniconda 是一款小巧的python环境管理工具
- 提前在Vscode安装好python拓展(创建一个".py"文件,VsCode就会提示安装python拓展)
- 电脑安装好MiniConda
优点
- 快速切换python编译内核
- 同时使用Markdown和代码,且保存运行结果
适用
- 学习、预研
- 预研pip包,方便测试及一段时间后的回顾
- 数据可视化,结合matplotlib可保留图表,方便数据分析
不适用
- 正式应用,如flask应用,Django应用等
- 生产环境等
Conda基本命令
# 创建指定python环境
$ conda create --name <name> python=3.8
# 使用环境
$ conda activate <name>
# 删除指定python环境
$ conda remove --name <name> --all
# pip升级
$ conda upgrade pip
# 查看所有环境
$ conda env list
操作说明
创建python环境
- 打开控制台,创建一个3.8版本的python环境
$ conda create --name common_3.8 python=3.8
- 查看所有环境,查看是否创建成功
$ conda env list
# conda environments:
#
base * D:\Miniconda3
common_3.8 D:\Miniconda3\envs\common_3.8
创建一个Jupyter notebook
-
打开VsCode,新建一个文件,以".ipynb"结尾就创建了一个Jupyter notebook了,如"demo.ipynb"
-
右上角点击"Select Kernel",选择刚才创建的环境"common_3.8"
-
输入以下内容,点击代码左侧的三角形(播放)按钮运行代码
print('hello world')
- 此时,VsCode会弹出提示,点击"安装",等待内核安装完成即可
+-------------------------------------------------------------------------------+
| Visual Studio Code X |
+-------------------------------------------------------------------------------+
| ! "运行含有'Python 3.8.12('common_3.8')'的单元需要安装或更新 ipykernel。" |
+-------------------------------------------------------------------------------+
| +----+ +-----------+ +------+ |
| |安装| |选择一个内核| |Cancel| |
| +----+ +-----------+ +----- + |
+-------------------------------------------------------------------------------+
使用matplotlib
- 安装库
! pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib
- 简单散点图代码
import matplotlib.pyplot as plt
fix, ax = plt.subplots()
ax.scatter(x=1, y=2, marker="x", label="A")
ax.scatter(x=2, y=1, marker="+", label="B")
ax.plot([1, 2, 3], [1, 2, 4], marker="^", label="plot")
plt.legend()
plt.show()
对比不使用Jupyter
弹窗显示,且无法保存结果,在数据可视化的场景中(如:AI研究数据)时很不方便
- 安装matplotlib库
# 激活环境
conda activate common_3.8
# 安装matplotlib
pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib
import matplotlib.pyplot as plt
fix, ax = plt.subplots()
ax.scatter(x=1, y=2, marker="x", label="A")
ax.scatter(x=2, y=1, marker="+", label="B")
ax.plot([1, 2, 3], [1, 2, 4], marker="^", label="plot")
plt.legend()
plt.show()
- 执行代码
python demo.py