阶段零:IDE选择 与 Jupyter Notebook / Lab 使用

Python开发环境配置完全教程:IDE选择与插件安装指南

从零开始,把VS Code/PyCharm/Jupyter打造成你的开发利器

一、三种工具的本质区别

在开始之前,先搞清楚这三个工具各有什么用:

工具 类型 适用场景 特点
VS Code 代码编辑器(可通过插件变身为IDE) 轻量脚本、多语言项目、快速原型 启动快、插件生态强大、免费
PyCharm 专业IDE 大型项目、Web开发、企业级应用 功能全面、调试能力强、有免费社区版
Jupyter 交互式Notebook 数据分析、机器学习、教学演示 代码+可视化+文档一体化

一句话决策:写Django/Flask用PyCharm,写脚本/多语言用VS Code,做数据分析用Jupyter。

二、VS Code配置详解(重点推荐)

2.1 基础安装

Python安装(关键一步)

  • 从python.org下载安装包
  • 务必勾选 "Add Python to PATH" ------ 这是90%新手踩坑的地方[citation:5]
  • 验证:终端运行 python --version

VS Code安装

  • 从code.visualstudio.com下载
  • 安装时建议勾选"添加到PATH"(这样可以在终端用code .命令快速打开项目)[citation:5]

2.2 核心插件清单(2026版)

只需要装一个Python扩展包(Microsoft官方发布),它就包含了以下所有能力[citation:2][citation:5]:

功能 说明
Pylance 语言服务器,提供智能补全和类型检查
Python Debugger 图形化调试器
Jupyter 原生支持.ipynb文件
代码格式化 集成Black/autopep8
单元测试 支持pytest和unittest

额外推荐的辅助插件[citation:2]:

  • Ruff:极速的代码检查+格式化工具(比Flake8快很多)
  • Error Lens:直接在代码行显示错误信息,不用悬停
  • GitLens:可视化Git历史

2.3 核心配置(settings.json)

在你的项目根目录创建.vscode/settings.json[citation:1]:

json 复制代码
{
    "python.defaultInterpreterPath": ".venv/bin/python",
    "python.analysis.typeCheckingMode": "basic",
    "editor.formatOnSave": true,
    "[python]": {
        "editor.defaultFormatter": "charliermarsh.ruff",
        "editor.codeActionsOnSave": {
            "source.fixAll": "explicit",
            "source.organizeImports": "explicit"
        }
    },
    "python.testing.pytestEnabled": true
}

这段配置帮你做到:

  • 保存时自动格式化代码
  • 自动整理import语句
  • 开启基础类型检查

2.4 虚拟环境管理(避开依赖冲突)

为什么需要虚拟环境:项目A用pandas 1.5,项目B用pandas 2.0,不隔离就会互相冲突[citation:5]。

VS Code中创建虚拟环境

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Python: Create Environment
  3. 选择 Venv(推荐)或 Conda
  4. 选择Python版本

创建成功后,左下角会显示 Python 3.x.x ('venv'),说明已自动激活[citation:5]。

安装依赖

bash 复制代码
# 激活虚拟环境后(终端前面会有(venv)标识)
pip install numpy pandas matplotlib

# 导出依赖列表(团队协作必备)
pip freeze > requirements.txt

# 别人拿到项目后一键安装
pip install -r requirements.txt

2.5 调试器使用(告别print大法)

设置断点:在代码行号左侧点击,出现红点

启动调试

  • 点击左侧"运行和调试"图标(Ctrl+Shift+D
  • 点击绿色"开始调试"按钮
  • 选择"Python文件"

调试工具栏功能[citation:5]:

快捷键 功能
F5 继续到下一个断点
F10 单步跳过(不进入函数内部)
F11 单步调试(进入函数内部)
Shift+F11 跳出当前函数

左侧"变量"面板可以实时查看所有变量的值,这是print调试无法比拟的效率。

三、PyCharm配置(专业级选择)

3.1 安装要点

PyCharm有两个版本[citation:6]:

  • Community(社区版):免费,够用
  • Professional(专业版):付费,支持Web框架、数据库工具

安装时务必勾选:"Add 'bin' folder to PATH"[citation:7]

3.2 创建项目与虚拟环境

新建项目时的配置选项[citation:7]:

选项 说明 建议
Location 项目存放路径 统一放在某个目录
Interpreter type Project venv 用虚拟环境隔离依赖
Base python 选择Python版本 选最新的稳定版
Inherit packages 继承全局包 不勾选(保持隔离)

3.3 核心快捷键

快捷键 功能
Alt+Enter 快速修复代码错误[citation:6]
Ctrl+B 跳转到定义
Alt+F7 查找引用
Ctrl+Alt+L 格式化代码

3.4 常见问题排查

问题1:启动慢/内存占用高

  • 解决方案:关闭不用的插件,或改用VS Code处理小型项目[citation:9]

问题2:解释器配置错误

  • 进入 File > Settings > Project > Python Interpreter,重新选择正确的虚拟环境[citation:9]

四、Jupyter配置(数据科学必备)

4.1 安装方式

方式一:pip安装(推荐)[citation:4]

bash 复制代码
pip install jupyterlab
# 验证安装
jupyter lab --version

方式二:VS Code内直接使用

  • 安装Python扩展后,Ctrl+Shift+PCreate: New Jupyter Notebook
  • 无需额外安装,开箱即用[citation:5]

方式三:Anaconda(数据科学全家桶)

  • 如果做机器学习,直接装Anaconda,Jupyter已预装

4.2 JupyterLab vs 经典Notebook

功能 JupyterLab 经典Notebook
界面 多文档标签页 单文档视图
文件浏览器 内置侧边栏 独立页面
终端 集成 不包含
扩展安装 pip可安装 需要nbextensions
推荐 ✅ 现代项目首选 旧项目维护

4.3 启动命令汇总[citation:4]

bash 复制代码
# 基础启动
jupyter lab

# 在指定项目目录启动
jupyter lab --notebook-dir=/path/to/project

# 自定义端口(8888被占用时)
jupyter lab --port=9999

# 启动但不自动打开浏览器(适合远程服务器)
jupyter lab --no-browser

# 所有网络接口可访问(同局域网其他设备)
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser

4.4 常见问题

问题:Jupyter命令找不到

  • 原因:Python未加入PATH或pip安装路径不在PATH中
  • 解决:重装Python时勾选"Add Python to PATH"

问题:Kernel连接失败

  • 解决:pip install ipykernel --upgrade[citation:4]

五、对比总结与推荐路线

选型决策树

复制代码
你要做什么?
│
├─ 数据分析/机器学习 → Jupyter(配合VS Code)
│
├─ 大型Web项目(Django/Flask) → PyCharm Community
│
├─ 快速脚本/多语言项目 → VS Code
│
└─ 初学者学习Python → VS Code 或 PyCharm Community

我的推荐组合

新手最佳路径:VS Code + Python扩展 + Jupyter支持

  • 启动快、配置简单、一套工具搞定编码和数据分析
  • 免费且社区资源丰富

进阶路径:主力PyCharm + 辅助Jupyter

  • 大型项目用PyCharm(重构、调试无敌)
  • 探索性分析用Jupyter

最后的小贴士

  1. 虚拟环境一定要用:这是避免"依赖地狱"的唯一方法
  2. 学会用调试器:print调试在复杂问题上效率极低
  3. 保持配置版本化 :把.vscode/settings.jsonrequirements.txt提交到Git

在学习python 代码时用jupyter 来学习会方便很多,我们先简单的学习一下jupyter方便python基础代码的学习。


Jupyter Notebook/Lab 完全学习指南

从零开始,掌握交互式编程的核心技能

一、Jupyter核心概念

1.1 什么是Notebook?

Jupyter Notebook是一种交互式文档,可以同时包含:

  • 代码(可执行)
  • 文本(Markdown格式)
  • 可视化(图表、图片)
  • 数学公式(LaTeX)

1.2 两种界面对比

特性 Classic Notebook JupyterLab
启动命令 jupyter notebook jupyter lab
界面布局 单文档标签页 多文档分屏拖拽
文件管理 独立页面 侧边栏集成
终端支持 ✅ 内置
推荐 旧项目维护 ✅ 新项目首选

二、单元格类型详解

2.1 三种核心单元格

类型 用途 快捷键
Code 编写和执行Python代码 Y
Markdown 写说明文档、标题、公式 M
Raw 纯文本,不执行 R

切换单元格类型

  • 选中单元格后按 Y / M / R
  • 或通过顶部工具栏下拉菜单
1. Code(代码单元格):核心执行单元
  • 类型标识: 默认新建就是 Code,快捷键切换:Y(把当前单元格转为 Code)
  • 核心用途: 编写、运行、调试 Python(及 R、Julia 等)代码,是 Jupyter 的「执行引擎」
  • 详细用法:
    • 输入代码:直接在单元格内写 Python 代码(支持多行、函数、循环、导入库)
    • 运行方式:
      • 快捷键:Shift+Enter(运行当前单元格,选中下一个);Ctrl+Enter(运行当前,保持选中);Alt+Enter(运行并在下方插入新单元格)
      • 菜单:点击工具栏「▶ Run」按钮
    • 输出展示:运行后,结果(打印文本、图表、报错信息)直接显示在单元格下方;支持交互式输出(如 matplotlib 图表、pandas 表格、widget 控件)
    • 特殊操作:
      • 清空输出:右键单元格 → Clear Outputs
      • 中断运行:点击工具栏「■ Stop」(代码死循环 / 耗时过长时用)
      • 重启内核:Kernel → Restart(重置 Python 环境,清除所有变量)
  • 解决的问题:
    • 告别「写代码→保存→运行→看终端 / 日志」的割裂流程,实时看结果、快速调试
    • 代码与运行结果绑定,方便复盘、复现、分享(别人打开文档能直接看到你的代码 + 输出)
    • 支持逐段运行(不用跑整个脚本),适合数据分析的「探索式编程」
2. Markdown(文档单元格):说明与排版单元
  • 类型标识: 快捷键切换:M(当前单元格转为 Markdown)
  • 核心用途: 写说明文档、标题、注释、公式、列表、链接、图片,给代码做「注释 + 文档化」,让 Notebook 变成可阅读的报告 / 教程
  • 详细用法:
    • 编辑 / 渲染:输入 Markdown 语法 → 按Shift+Enter(渲染成富文本);双击渲染后的单元格可重新编辑
    • 常用 Markdown 语法(Jupyter 完整支持):
      • 标题:# 一级标题、## 二级、### 三级(对应 HTML h1-h6)
      • 文本格式:**加粗**加粗*斜体*斜体***粗斜体***粗斜体~~删除线~~删除线、(带语法高亮)
      • 列表:1.有序列表(1.)、-无序列表
      • 公式:LaTeX 语法,行内E=mc2E=mc^2E=mc2,块级∫0∞e−xdx=1\int_0^\infty e^{-x}dx=1∫0∞e−xdx=1
      • 代码块:python print("hello")(带语法高亮)
      • 图片 / 链接:![说明](图片URL/本地路径)[文字](sslocal://flow/file_open?url=%E9%93%&flow_extra=eyJs)
      • 特殊:支持 HTML 标签(如<br>换行、<font color=red>变色</font>变色、<u>下划线</u>++下划线++),兼容复杂排版
  • 解决的问题:
    • 解决「代码只有注释、无结构化文档」的痛点,让 Notebook 既是代码,也是可交付的报告 / 教程
    • 支持公式 / 图表 / 文字混排,完美适配数学推导、数据分析报告、教学课件场景
    • 比纯注释更美观、结构化,方便团队协作阅读
3. Raw(原始文本单元格):纯文本单元
  • 类型标识: 快捷键切换:R(当前单元格转为 Raw)
  • 核心用途: 存储纯文本、不渲染、不执行,用于写「不参与渲染 / 运行」的内容(如原始代码片段、配置文本、注释草稿、导出时保留的纯文本)
  • 详细用法:
    • 输入任意文本(无格式、无语法),按Shift+Enter仅展示纯文本,不渲染 Markdown、不执行代码
    • 无任何格式化,导出为其他格式(如 PDF、HTML)时,保持原始文本样式
  • 解决的问题:
    • 避免 Markdown 误渲染、代码误执行:未运行的原始未运行的原始代码模板」「配置文件内容」「纯文本草稿」时,用 Raw 防止 Jupyter 自动处理
    • 导出场景:保留纯文本、不做任何格式转换时使用

2.2 单元格基本操作快捷键

操作 快捷键(命令模式)
运行当前单元格 Shift + Enter
运行并插入下方 Alt + Enter
上方插入单元格 A
下方插入单元格 B
删除单元格 DD(按两次D)
合并单元格 Shift + M
分割单元格 Ctrl + Shift + -
调出代码补全列表(变量、函数、方法、属性) Tab
调出函数 / 方法的参数提示、文档字符串(tooltip) Shift + Tab

命令模式 vs 编辑模式

  • 命令模式(蓝色边框):按Esc进入
  • 编辑模式(绿色边框):按Enter进入

三、Markdown在Jupyter中的高级用法

3.1 基础格式

markdown 复制代码
# 一级标题
## 二级标题
### 三级标题

**粗体文本**
*斜体文本*
***粗斜体***

- 无序列表项1
- 无序列表项2

1. 有序列表项1
2. 有序列表项2

[链接文字](https://example.com)
![图片描述](image.png)

3.2 代码块高亮

markdown 复制代码
```python
def hello():
print("Hello, Jupyter!")
```

```javascript
console.log("支持多种语言");
```

3.3 数学公式(LaTeX)

行内公式 :用单个$包裹

markdown 复制代码
爱因斯坦质能方程 $E = mc^2$

独立公式块 :用双$$包裹
∫0∞e−x2dx=π2 \int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2} ∫0∞e−x2dx=2π

markdown 复制代码
$$
\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

常用公式示例

markdown 复制代码
# 求和
$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$

# 分数
$$\frac{a}{b}$$

# 矩阵
$$
\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}
$$

3.4 表格

markdown 复制代码
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| A | B | C |
| D | E | F |

3.5 引用与高亮

markdown 复制代码
> 这是一段引用

`行内代码`

---
(水平分割线)

四、代码单元格核心用法

4.1 基本执行

python 复制代码
# 单行执行
print("Hello")

# 多行执行(一次运行整个单元格)
x = 10
y = 20
print(x + y) # 输出: 30

4.2 变量持久化

python 复制代码
# 单元格1
a = 100

# 单元格2(可访问a)
print(a) # 输出: 100

注意:变量会一直保留,直到kernel重启。顺序执行很重要!

4.3 输出控制

python 复制代码
# 只显示最后一个表达式的值
3 * 4 # 输出: 12
5 * 6 # 这个不会显示

# 使用print显示多个
print(3 * 4)
print(5 * 6)

# 使用display()显示多个(富文本)
from IPython.display import display
display(3 * 4)
display(5 * 6)

4.4 抑制输出

python 复制代码
# 行末加分号
result = 100 * 200;
# 不会显示任何输出

五、魔法命令(Magic Commands)------ Jupyter的杀手锏

魔法命令是Jupyter独有的增强功能,以%%%开头。

5.1 Line Magic(单行魔法,%

命令 功能 示例
%time 单行代码执行时间 %time sum(range(1000000))
%timeit 多次运行取平均时间 %timeit sum(range(1000000))
%who 列出所有变量 %who
%whos 列出变量详细信息 %whos
%reset 删除所有变量 %reset -f(强制不确认)
%run 运行外部Python文件 %run script.py
%load 加载外部文件到单元格 %load script.py
%pwd 显示当前目录 %pwd
%cd 切换目录 %cd /path/to/dir
%ls 列出目录内容 %ls
%env 列出环境变量 %env
%debug 进入调试模式(报错后使用) %debug
%history 显示命令历史 %history
%save 保存单元格到文件 %save filename.py 1-5

5.2 Cell Magic(整个单元格魔法,%%

命令 功能 示例
%%time 整个单元格执行时间 %%time
%%timeit 整个单元格计时 %%timeit
%%writefile 写入文件 %%writefile test.py
%%file 同上 %%file test.py
%%bash 执行bash命令 %%bash
%%sh 执行shell命令 %%sh
%%html 渲染HTML %%html
%%javascript 执行JS %%javascript
%%latex 渲染LaTeX %%latex
%%markdown 动态生成Markdown %%markdown
%%capture 捕获输出 %%capture output

5.3 实用组合示例

代码性能分析

python 复制代码
# 单行计时
%time sum([i**2 for i in range(1000000)])

# 精确计时(多次取平均)
%timeit sum([i**2 for i in range(1000000)])

# 整个单元格计时
%%time
total = 0
for i in range(10000000):
total += i

文件操作

python 复制代码
# 将单元格内容写入文件
%%writefile my_module.py
def hello():
print("Hello from file")

# 运行刚写的文件
%run my_module.py

# 加载文件内容到当前单元格
%load my_module.py

系统命令

python 复制代码
# 查看当前目录
%pwd

# 切换目录
%cd ../

# 列出文件
%ls -la

# 执行bash脚本
%%bash
echo "当前时间:"
date
echo "Python版本:"
python --version

可视化配置(数据科学必备):

python 复制代码
# 让图表在Notebook内显示
%matplotlib inline

# 更高级的交互式图表
%matplotlib widget

# 自动重新加载修改的模块
%load_ext autoreload
%autoreload 2

5.4 查看所有魔法命令

python 复制代码
# 列出所有魔法命令
%lsmagic

# 查看某个命令的详细文档
%timeit?

六、实战示例:数据分析工作流

python 复制代码
# 单元格1: 导入库和配置
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline
plt.rcParams['figure.figsize'] = (10, 6)

# 单元格2: 加载数据
%%time
df = pd.read_csv('sales_data.csv')
print(f"数据形状: {df.shape}")
df.head()

# 单元格3: 数据清洗
# 检查缺失值
df.isnull().sum()

# 填充缺失值
df['amount'].fillna(df['amount'].median(), inplace=True)

# 单元格4: 可视化
plt.figure()
df['amount'].hist(bins=50, alpha=0.7)
plt.title('销售额分布')
plt.xlabel('金额')
plt.ylabel('频次')
plt.show()

# 单元格5: 查看当前所有变量
%whos

七、常见问题与技巧

7.1 Kernel相关

问题 解决方案
代码卡住无限循环 工具栏点击 ■ 停止
变量太多想重置 %reset -f 或 Kernel → Restart
想保留变量但清理输出 Kernel → Restart & Clear Output

7.2 快捷键速查

python 复制代码
# 在Jupyter中查看所有快捷键
# 按 H 键(命令模式下)

7.3 导出功能

Notebook可以导出为多种格式:

  • .html(网页)
  • .pdf(PDF文档)
  • .py(纯Python脚本)
  • .md(Markdown)

导出命令

bash 复制代码
jupyter nbconvert --to html notebook.ipynb
jupyter nbconvert --to script notebook.ipynb

7.4 效率技巧

python 复制代码
# 显示所有输出(不隐藏)
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

# 自动补全:按 Tab 键
# 查看文档:函数名后加 ? 并运行
print?

# 查看源码:函数名后加 ?? 并运行
print??

八、学习资源推荐

  1. 官方文档jupyter.org/documentation
  2. 练习数据集:Kaggle、UCI Machine Learning Repository
  3. 魔法命令详解ipython.readthedocs.io/en/stable/interactive/magics.html

相关推荐
lpfasd1232 小时前
Harness架构将成为AI工程的终极范式
人工智能·架构
TDengine (老段)2 小时前
中原油田引入时序数据库 TDengine:写入性能提升、存储成本下降 85%
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
IT_陈寒2 小时前
SpringBoot里的这个坑差点让我加班到天亮
前端·人工智能·后端
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月12日
大数据·人工智能·信息可视化·自然语言处理·ai编程
nix.gnehc2 小时前
实战部署|Ollama\+Qwen2\.5:3b\+Open WebUI 本地AI助手搭建全记录(附避坑指南)
人工智能·大模型·llm·ollama
FIT2CLOUD飞致云2 小时前
新增工作流类型工具,对话时可选择模型与知识库,MaxKB开源企业级智能体平台v2.8.0版本发布
人工智能·ai·开源·智能体·maxkb
code 小楊2 小时前
从开源折戟到闭源破局:Meta Muse Spark 全解析(含案例+调用指南)
人工智能·开源
deepdata_cn2 小时前
智能体的5个认知误区
人工智能·智能体
Pocker_Spades_A2 小时前
Python快速入门专业版(五十七)——POST请求与模拟登录:从表单分析到实战(以测试网站为例)
开发语言·python