尧图精选

Python开发环境搭建:Anaconda+VSCode+Jupyter Notebook三件套实战

🕒 发布时间:2026/10/1 4:28:14 📁 来源:尧图网络
1. 为什么是这三件套Anaconda、VSCode与Jupyter Notebook的分工逻辑先说我自己的经历。几年前刚开始碰Python的时候我犯过一个很典型的错误先去官网下了个Python装好然后又装了个记事本风格的编辑器再手动用pip装了一堆库。结果不到两周就乱了——不同项目需要的包版本互相冲突卸载重装Python不止一次最后连系统里哪个Python是哪个都说不清。后来我换成Anaconda VSCode Jupyter Notebook这套组合才真正体会到“工具链”和“散装工具”的区别。这三者不是简单的叠加关系而是各管一段Anaconda负责“环境管理”。它自带一个Python解释器但更核心的价值在于conda这个包管理和环境管理工具。每个项目可以创建独立的虚拟环境环境之间互不干扰。A项目用Python 3.9 PyTorch 1.13B项目用Python 3.11 TensorFlow两个环境可以同时存在想切哪个切哪个。VSCode负责“写代码”。它本质是一个轻量级编辑器但通过插件体系可以变成一个几乎全能IDE。配合Python插件它能识别你当前激活的conda环境提供代码补全、调试、变量查看等一系列能力。它的优势在于启动快、界面干净、生态丰富——我至今没找到替代它的理由。Jupyter Notebook负责“交互式探索”。它把代码、运行结果、图表、说明文字全部整合到一个文档里按单元格逐段执行。这对数据分析、机器学习实验这类需要不断试错的场景特别友好改一行代码只重新运行那一个格子就行不用重跑整个脚本。关于这三个工具怎么配合我见过很多新手有个误解以为它们是三个独立的软件需要分别打开、分别操作。实际上现在的主流用法是Jupyter Notebook直接在VSCode里用。你在VSCode里打开一个.ipynb文件可以直接编辑、运行、查看输出体验比浏览器版还顺。Anaconda提供环境和内核VSCode充当宿主界面Jupyter作为执行引擎——三者咬合在一起形成一个完整的开发闭环。这篇文章会把从下载到日常使用的完整链路讲清楚包括我踩过的坑和后来总结出的稳定方案。不管你是刚入门想搭环境的新手还是已经会一点、想理清工具配合逻辑的开发者照着做基本都能顺利跑通。2. 安装前必须想清楚的几件事2.1 版本选择Full版还是MinicondaAnaconda官网提供两种安装包一种是一个多G的完整版一种是轻量的Miniconda。完整的Anaconda Distribution自带了300多个常用科学计算包装完基本开箱即用。Miniconda只包含conda和Python其他包需要自己装。我的建议很简单如果你是数据分析或机器学习的初学者直接装Full版。因为numpy、pandas、matplotlib、scikit-learn这些最常用的东西全都有不用一上来就跟pip较劲。但如果你本身对Python生态已经很熟或者磁盘紧张那就用Miniconda需要什么装什么环境反而更干净。这里顺带说一下Anaconda和Python的关系也是很多新手搞不清的地方。Anaconda不是Python的替代品它只是把Python解释器、包管理器、常用库和几个辅助工具打包进了一个发行版。装了Anaconda系统里就多了一个它自带的Python和你之前单独装的Python完全可以共存只是要小心环境变量和路径优先级的问题后面会详细说。2.2 下载地址与国内镜像别在官网死磕Anaconda的官方下载地址很好找但从国内直连下载速度经常非常感人几百MB或几个GB的安装包可能要下好几个小时。正确的做法是优先用清华镜像源TUNA下载把官网地址里的continuum.io或anaconda.com路径换成镜像站速度快几个数量级。搜索“清华Anaconda镜像”就能找到对应页面。映像里有Anaconda安装包也有Miniconda按自己的操作系统选对应版本即可。下载完成之后记得校验一下文件大小是否和页面标注一致文件不完整会导致安装过程各种莫名其妙的问题。2.3 安装顺序先Anaconda再VSCode关于这两个软件的安装顺序我建议先装Anaconda再装VSCode。原因在于VSCode的Python插件在首次启动时要探测系统里可用的Python解释器如果Anaconda已经装好并配置了环境变量VSCode会自动识别到它后续几乎不用额外配置。如果你之前已经装过VSCode也没关系不需要卸载重装只需要在Anaconda装好之后重启VSCode它就会自动扫描到新的解释器。3. Anaconda安装全程实录Windows和Linux两条路线3.1 Windows环境安装步骤与几个关键勾选项Windows下安装Anaconda基本是傻瓜式操作但有几个选项必须认真对待。第一步双击下载好的.exe安装包点击Next进入安装流程。第二步选择安装路径。默认是C:\Users\用户名\anaconda3。我强烈建议改到非系统盘路径比如D:\Anaconda3。原因有两个一是避免C盘空间被迅速吃掉Anaconda全装完通常十几个GB二是有些Windows系统对C:\Users\下的路径权限管得比较严有时会导致conda创建环境的写权限问题。路径中不要包含中文和空格这个很重要。第三步这一步是关键安装界面会询问是否将Anaconda加入系统PATH环境变量。我直接说结论第一次安装建议勾选“Add Anaconda3 to my PATH environment variable”。网上很多教程坚持说不勾选理由是可以避免conda的Python干扰系统里已有的其他Python。这个说法本身没错但对于新手来说不加入PATH会导致后续在PowerShell或CMD里敲conda命令时报“不是内部或外部命令”然后陷入配置环境变量的苦海。实际操作中除非你的电脑里已经有一个很重要的旧版Python不能乱动否则直接加入PATH是最省事的。第四步勾选“Register Anaconda3 as my default Python 3.x”把Anaconda里的Python设为默认解释器。这个也建议勾上方便后续VSCode和IDE调用。第五步等待安装完成。这时候不要着急关窗口等进度条走完过程中不要做其他占用系统资源的大操作比如玩游戏、跑大型软件否则可能导致安装文件解压失败。3.2 Linux环境Shell安装与环境变量的坑Linux下安装Anaconda走的是Shell脚本路线。下载.sh文件后在终端里执行bash Anaconda3-2024.10-1-Linux-x86_64.sh按回车阅读许可协议输入yes接受然后选择安装路径。默认装在/home/用户名/anaconda3如果想装到其他位置直接输入绝对路径即可。安装到末尾会问是否运行conda init来初始化Shell环境这里选yes。初始化后.bashrc如果用的是bash中会多出几行conda的初始化代码这样每次打开终端就能直接用conda命令。如果你用的是zsh需要在.zshrc中也加上对应配置。最省事的方式是装完后手动执行~/anaconda3/bin/conda init zsh这里有一个Linux新手很容易踩的坑装完之后如果不重新开一个终端conda命令依然是找不到的。因为当前Shell已经启动过了.bashrc里的变更不会自动生效。解决办法是执行source ~/.bashrc或是直接关掉终端重开。如果你执行conda --version能输出版本号说明环境变量正常工作。3.3 装完必做的三件事无论什么操作系统Anaconda装好之后我建议先做三件事再继续往下走。第一件事配置国内镜像源。conda默认从官方源下载包速度不稳定而且经常断。配置清华镜像源的方法是执行以下四条命令conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes这三条命令写入的配置会保存在~/.condarc文件中。配置好之后每次conda安装包时都会优先从镜像源拉取。第二件事升级conda本身。我第一次装Anaconda之后没升级结果创建环境时提示conda版本过旧。执行conda update conda升级后最好再用conda --version确认一下版本号。注意这个命令可能会耗时较长耐心等就行。第三件事验证基础组件。分别执行python --version jupyter --version确认Python和Jupyter都能正常输出版本信息说明安装核心链路是通的。4. VSCode安装与关键配置让编辑器和conda环境对接4.1 VSCode下载安装避开“官网找不到入口”问题VSCode官网地址是code.visualstudio.com进入后首页就有蓝色下载按钮系统会自动识别你的操作系统平台并推荐对应版本。Windows下下载的是.exe安装包Linux下是.deb或.rpmmacOS下是.zip。安装过程基本一直点“下一步”就行。唯一值得注意的两个选择项是安装时是否勾选“添加到PATH”以及是否勾选“在文件资源管理器上下文菜单中打开”之类。我建议全部勾上方便以后从文件夹右键直接打开VSCode。VSCode装完后界面默认是英文的。想换成中文需要到扩展市场搜索“Chinese (Simplified) Language Pack for Visual Studio Code”安装并重启即可。这个汉化包是由微软官方提供的放心装。4.2 必须安装的三个插件VSCode的编辑器本体对Python开发几乎什么都不会你得装对应插件。有三个是核心中的核心Python扩展ms-python.python这是微软官方出的Python插件提供代码补全、语法高亮、调试、代码跳转、解释器选择等功能。安装完这个VSCode才算一个真正能用的Python开发环境。PylancePython语言的类型检查器和语言服务器。虽然有时对动态类型的Code比较严格但它的补全体验和错误提示在Python生态里是最顶级的。装上Python扩展后VSCode通常会提示你安装Pylance直接装上就行。Jupyter扩展ms-python.jupyter这个扩展让VSCode原生支持编辑和运行.ipynb文件是“在VSCode里用Jupyter Notebook”的核心依赖。安装后VSCode里的Notebook编辑器就能启动本地Jupyter内核。4.3 选择Python解释器让VSCode识别conda环境插件装完关键的配置动作是让VSCode知道该用哪个Python解释器。打开命令面板快捷键CtrlShiftP输入“Python: Select Interpreter”回车后会列出当前系统能扫描到的所有Python解释器。如果一切正常你会看到类似“Python 3.11.xbase: conda”这样的选项这就是Anaconda自带的base环境。选中它之后VSCode左下角的蓝色标签区域会显示当前解释器的名称。后续如果你想切换到某个conda虚拟环境重复这个操作选择对应解释器即可。这里有一个很多新手经常困惑的点为什么我明明在终端里激活了conda环境VSCode却还是用的另一个Python因为VSCode的解释器选择是独立的它不完全跟随终端里的环境激活状态而是由上面这个“Select Interpreter”决定。所以每次换了conda环境记得回VSCode里同步切换一下解释器。4.4 VSCode集成终端的conda环境问题如果你在VSCode底部打开终端输入conda activate想激活环境却提示conda不是命令通常是终端没有加载conda初始化脚本。在Windows PowerShell里可以尝试让VSCode终端使用“Command Prompt”模式在终端面板右上角的下拉箭头里选择或者在设置里搜terminal.integrated.defaultProfile.windows改成“Command Prompt”。另外一个比较实用的办法是在VSCode里打开命令面板执行“Python: Create Terminal”它会自动创建一个已经激活当前所选Python环境的终端省去手动激活的麻烦。这个操作在日常写代码时频率很高记住它很实用。5. 在VSCode里真正把Jupyter Notebook用起来5.1 新建Notebook文件的两种方式方式一在VSCode的“文件”菜单里选择“新建文件”然后在语言模式下拉框中选择“Jupyter Notebook”。方式二在资源管理器中新建一个文件后缀名直接命名成.ipynb然后回车VSCode会自动把它识别为Notebook文件。新建之后界面会变成一个一个的代码单元格上方有“ Code”和“ Markdown”两种单元格添加按钮。Markdown单元格用来写说明文字Code单元格用来写代码。这里有个非常常用的快捷键建议记下来Shift Enter在当前单元格内执行代码并且自动跳到下一个单元格Ctrl Enter只执行当前单元格但不跳转。5.2 单元格操作与快捷流程日常用notebook大量操作集中在几件事上在当前单元格下方插入新单元格鼠标悬停到单元格下方会出现“ Code”或“ Markdown”按钮。删除单元格选中后按CtrlShiftBackspacemacOS对应OptionShiftBackspace或者用单元格右上角的删除图标。上下移动单元格用单元格左侧的箭头按钮。切换单元格类型在单元格左下角选中“Code”或“Markdown”VSCode的快捷键里已经提供了快速切换。以我的使用习惯来说写一个小项目的时候我会把notebook拆成几个逻辑块开头的导入库单元格中间的数据读取、清洗、分析单元格最后的可视化单元格。这样每一步的输出都能即时看到出问题也能定位到具体是哪个环节。5.3 代码自动补全与变量预览VSCode里的Jupyter Notebook代码补全体验和浏览器版的Jupyter完全不在一个级别。Pylance会基于当前上下文给变量名、函数签名、引用的库和属性做补全提示。一个比较实用的操作是在一个已赋值的变量后面输入变量名的一部分Tab键就能带出提示。变量预览功能也是我天天用的。在Notebook里运行一个单元格后VSCode顶部会出现“变量”面板在“运行”菜单里能找到里面列出当前内核里所有活跃变量包括类型、大小、值预览。调试数据分析代码时这个面板能帮你快速确认DataFrame的行数列数、缺失值数量等关键信息不用到处打印head()和dtypes。5.4 生成Markdown目录让Notebook结构化很多人写Notebook写到后来会发现一个问题内容太长满屏都是代码格想定位之前写的一个章节得滚动半天。解法是用Markdown标题语法创建目录。在Markdown单元格里写作时使用#、##、###标注章节标题然后在文章开头的Markdown单元格里加一行[目录]VSCode会基于Markdown标题自动生成可跳转的目录。在浏览器版的Jupyter里也可以用jupyter-contrib-nbextensions这类扩展但VSCode里原生就能支持不需要另外装东西。还有一个更轻量的做法在VSCode的命令面板里执行“Markdown: Open Preview to the Side”可以实时预览标题渲染效果。5.5 代码执行“没有任何反应”的排查链路我在从浏览器版Jupyter迁移到VSCode的过程中遇到过几次“单元格执行代码没有任何反应”的情况。如果你也碰到这个问题别慌按这个顺序排查第一步看内核状态。点击VSCode右上角的内核图标一个类似于量子态的符号看是不是显示为“正在连接”或离线状态。如果内核没有正常启动单元格执行自然没有响应。选择“选择内核”重新指定一个conda环境的内核即可。第二步检查是否处于输入模式。有时候鼠标光标还停在输入状态按CtrlEnter只能换行不能触发执行。用ShiftEnter通常能解决或者用鼠标点击单元格的蓝色边框让整个单元格处于“被选中”状态再执行。第三步打开Jupyter Pane查看错误日志。VSCode的“输出”面板快捷键CtrlShiftU可以选择“Jupyter”通道里面能看到内核的启动日志和报错。如果是内核启动时DLL加载失败、库冲突这类的错误这里会有详细线索。第四步重启内核。在Notebook工具栏上有个“重启”按钮点击重启之后重新运行所有单元格。大多数“执行没反应”其实只是内核崩了或者卡住了重启就好了。6. 用conda管理虚拟环境从“一个环境用到死”到“一项目一环境”6.1 为什么你必须学会创建虚拟环境如果你只是在学习阶段天天在base环境里pip install这个、pip install那个短期内似乎没出什么问题。但你一旦开始做项目就会发现各个依赖之间的版本冲突让人崩溃A库要求numpy版本小于1.24B库要求numpy版本大于1.25你装上BA就崩了。虚拟环境的本质是给每个项目一套独立的site-packages目录和独立的Python解释器。互不干扰各自安好。在conda体系里创建环境、切换环境都是几条命令的事。6.2 conda常用操作清单我把日常最常用的conda命令整理成一个速查表新手的核心命令其实就这几条操作命令查看现有环境conda env list创建指定Python版本的环境conda create -n myenv python3.9激活环境conda activate myenv退出环境conda deactivate查看当前环境已安装的包conda list安装包pip install 包名或conda install 包名删除环境conda remove -n myenv --all有一个关于pip和conda混用的实操建议如果你已经在conda环境里优先用pip install装普通Python库用conda install装带二进制依赖的库比如numpy、pandas、torch。原因在于conda对大型二进制包的管理更完善而pip在纯Python包上更灵活。但要注意一点每次用pip装包前确认当前确实处于目标环境。我就是吃过这个亏在base环境里猛装了一堆包结果项目环境里啥也没有。6.3 环境激活时的Warning信息解读激活conda环境时经常看到一行提示类似Warning: this Python interpreter is in a conda environment but the environment has not been activated或者是To activate this environment please use conda activate ...。这个警告本身不致命它只是说当前终端里的Python路径指向了conda环境但环境变量没有完全切换。最常见的原因是在Windows PowerShell里激活conda环境后环境变量更新不完全。解决办法是先执行conda config --set auto_activate_base false或者直接在终端里重新运行conda activate 环境名。如果反复出现还有一招用where.exe python看看当前终端解析到的Python路径是不是你期望的那个环境下的路径如果不是检查PATH的环境变量顺序。6.4 实践场景配置一个PyTorch环境听完理论我们来做一个实际场景创建一个用于PyTorch的虚拟环境。# 创建一个名为pytorch_env、Python版本为3.10的环境 conda create -n pytorch_env python3.10 -y # 激活这个环境 conda activate pytorch_env # 安装PyTorchCPU版或CUDA版按需选择以CPU版本为例 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu装好之后在VSCode里按CtrlShiftP选择解释器选中pytorch_env环境新建一个Notebook文件输入import torch print(torch.__version__)能正常输出版本号就说明整条链路已经通了。以后每个新项目都这样做环境之间互不污染。7. 从安装到使用的常见坑我踩过的和你可能踩的7.1 “Jupyter Notebook打不开”或长时间白屏常在浏览器版Jupyter上遇到。浏览器里输入localhost:8888或localhost:8888/tree之后页面一直转圈或者干脆白屏。我遇到这个问题的直接原因是Jupyter核心组件版本过于陈旧和当前浏览器内核不兼容。解决办法是升级pip install --upgrade notebook jupyter升级完再重启Jupyter服务。另外一个原因是防火墙或代理拦截了本地端口把localhost:8888加进代理白名单即可。7.2 “DLL load failed while importing rpds”这类库加载失败这个报错出现时通常是一长串importerror比如ImportError: DLL load failed while importing rpds它本质上是某个库rpds是其中一个常见的在加载时找不到它依赖的底层动态链接库。导致这个问题的根源绝大多数是conda环境的二进制库文件和Python版本不匹配或者环境中混装了不同来源的构建版本。解法并不复杂先卸载出问题的包再强制用conda从默认通道重新安装pip uninstall rpds -y conda install rpds如果还不行试着删除当前环境然后重建一个干净环境再逐步安装依赖。切记不要把源码包比如从GitHub上克隆下载的自己build的包和conda构建的二进制包混在一个环境里这类DLL冲突十次有八次是这么来的。7.3 在VSCode中使用WSLLinux环境嵌入Windows工作流很多用Windows的开发者其实是在WSLWindows Subsystem for Linux里做开发的VSCode对WSL的支持非常完善。在VSCode里打开命令面板输入“WSL: Connect to WSL”VSCode会重新打开一个连接到WSL环境的窗口。在这个新窗口里终端的默认Shell就是Linux的conda命令直接可用。你只需要确保WSL里已经装好了Anaconda或Miniconda。连接WSL后VSCode的扩展有些需要重新在WSL侧安装因为它们是按远端环境独立安装的。装完之后在WSL里创建Python环境VSCode的“Select Interpreter”里直接能看到不需要额外配置。7.4 VSCode写C/C的配置建议顺带一提VSCode配置C/C环境和Python不太一样需要单独安装C/C扩展ms-vscode.cpptools并且配置tasks.json和launch.json来指定编译器和调试器。很多新手卡在“编译通过但运行不了”或者“调试时无法启动”这些阶段多半是命令行参数和编译任务路径没写好。这个话题展开能写一整篇这里只提一点如果你只是想在VSCode里跑C程序最简单的方式是装好Code Runner扩展直接用运行按钮执行但调试功能需要正经的launch配置。刚入门的时候可以先别管调试能把编译运行跑通就已经解决80%的问题了。7.5 镜像源失效与恢复豆瓣、清华等镜像偶尔在高峰期会限流或者域名变更。如果conda install时出现了CondaHTTPError: HTTP 404或连接超时可能就是镜像源出了问题。这时可以临时切回默认源试试conda config --remove-key channels或者直接编辑~/.condarc文件把channels清空。推荐的做法是保留一个主镜像和一个备选镜像比如清华和阿里云两个源都配上。一个挂了就换另一个不至于卡住整个开发流程。8. Pycharm与Anaconda配合的一点补充虽然前面一直在讲VSCode但很现实的情况是有一部分人用VSCode写业务脚本和Notebook用PyCharm写大型工程。PyCharm里配置Anaconda环境其实也很简单。打开“File - Settings - Project - Python Interpreter”点击右上角齿轮选择“Add”然后在左侧选择“Conda Environment”PyCharm会自动探测到系统里的conda可执行文件。选择“Existing environment”并指定你要使用的conda环境确认后即可。如果你希望PyCharm帮你新建一个conda环境也可以在这个界面的“New environment”部分直接创建。PyCharm对conda的支持算是一等公民基本不太会遇到配置上的障碍。唯一要提醒的点是PyCharm的终端默认可能不激活conda环境每次打开终端需要手动conda activate。这是正常行为不是配置错误。9. 用顺手之后这几种工作流你可以试一试工具链装好之后其实已经走出了最艰难的那一步。但通过这种环境布局还有几种非常高效的组合用法值得尝试。一是Notebook加命令行混合工作流。先在VSCode的Notebook里做探索性分析跑通了逻辑之后再把这些单元格的代码整理到.py脚本里用终端通过python script.py跑全量数据。Notebook适合快速验证脚本适合稳定复现。日常我基本就是这种节奏每个项目目录里既有explore.ipynb也有train.pyNotebook负责试错脚本负责上线。二是用Jupyter Notebook做实时文档。Notebook不只是给人看的报告某种意义上它也是可执行的文档。把数据处理流程放到Notebook里外加Markdown单元格写说明团队协作的时候别人一眼就能看懂你的分析逻辑而不只是看到一张Excel表或者一段没有上下文的脚本。三是在VSCode里同时打开多个Notebook或者在同一Notebook里使用多个内核。不同的conda环境中各跑各的实验切换的时候用内核选择器换一下就行不用另外开浏览器窗口。这套工具链的深度远不止安装之后能写Python这么简单它本质上构建了一套从环境管理、代码编写到结果呈现的完整工作流。踩过几次坑之后我现在最深的体会是环境隔离这件事越早养成习惯越好。不要觉得“现在项目小不需要虚拟环境”等到项目大了再回头重构环境成本才真是让人头疼。下次如果看到一个“Jupyter Notebook执行没反应”或者“DLL加载失败”的报错先回想一下这篇文章里的排查链路大概率能少走好几个小时的弯路。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →