ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Data-Science-For-Beginners 故障排查实战指南:从 Python 环境、Jupyter 到 quiz-app 与 Docsify 的完整排错手册

Data-Science-For-Beginners 故障排查实战指南:从 Python 环境、Jupyter 到 quiz-app 与 Docsify 的完整排错手册 Data-Science-For-Beginners 故障排查实战指南从 Python 环境、Jupyter 到 quiz-app 与 Docsify 的完整排错手册【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners本文围绕 Data-Science-For-Beginners 课程的官方故障排查文档TROUBLESHOOTING.md另见英文原版 TROUBLESHOOTING.md展开系统讲解学习该课程时最可能遇到的九类问题Python 与 Jupyter 环境、pip 依赖安装、Notebook 运行与绘图、quiz-app 测验应用、Git/GitHub 操作、Docsify 文档站点、数据文件读取、性能优化以及求助规范。读完并对照仓库中真实的 quiz-app/package.json、index.html 等文件核验后你将能够独立完成从环境搭建到本地运行课程文档站点的全链路排错。一、Python 与 Jupyter 环境问题Python 未安装或版本错误现象终端报python: command not found或python --version显示的版本不符合预期。排查与解决macOS/Linux# 确认两个命令各自的版本 python --version python3 --version # 如果系统只安装了 python3可建立别名 # 在 ~/.bashrc 或 ~/.zshrc 中加入 alias pythonpython3 alias pippip3 # 或者显式使用 python3 模块方式安装避免 PATH 歧义 python3 -m pip install jupyterWindows 解决路径重新安装 Python 并在安装向导中勾选 Add Python to PATH然后重启终端。Windows 上最常见的“找不到命令”问题几乎都是漏勾这个选项导致的。虚拟环境无法激活这是跨平台差异最大的一类问题需要分别处理Windows执行策略拦截# 遇到 execution policy 报错时先放宽当前用户的执行策略 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # 再激活 venv\Scripts\activatemacOS/Linuxactivate 脚本无执行权限# 确保 activate 脚本可执行 chmod x venv/bin/activate # 再激活 source venv/bin/activate验证是否真正激活# 提示符前应出现 (venv) # 确认解释器指向虚拟环境 which python # 应输出 venv 目录下的 pythonJupyter Kernel 异常现象Kernel not found 或 Kernel keeps dying内核反复掉线。# 重新安装内核注册一个自定义显示名 python -m ipykernel install --user --namedatascience --display-namePython (Data Science) # 或者退回默认内核 python -m ipykernel install --user # 重启 Jupyter jupyter notebook现象Jupyter 里显示的 Python 版本不对用了系统 Python 而不是虚拟环境的。# 先激活虚拟环境再在其内部安装并注册内核 source venv/bin/activate pip install jupyter ipykernel python -m ipykernel install --user --namevenv --display-namePython (venv) # 然后在 Jupyter 菜单 Kernel - Change kernel - Python (venv) 切换从源码结构看本仓库每节课的 Notebook 都依赖pandas、numpy、matplotlib等库例如 3-Data-Visualization/09-visualization-quantities/solution/notebook.ipynb 中直接pd.read_csv(../../../data/birds.csv)如果 Kernel 注册在了错误的解释器下这些单元格会集体报ModuleNotFoundError因此“先激活环境、再装内核”的顺序至关重要。二、包与依赖问题导入错误ModuleNotFoundError# 确认虚拟环境已激活 source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows # 只装缺失的包 pip install pandas # 或一次装齐课程常用库 pip install jupyter pandas numpy matplotlib seaborn scikit-learn # 验证 python -c import pandas; print(pandas.__version__)pip 安装失败权限错误# 用 --user 装到用户目录 pip install --user package-name # 或者推荐在虚拟环境内安装从根本上避开系统目录权限 python -m venv venv source venv/bin/activate pip install package-nameSSL 证书错误# 先升级 pip新版通常能修复证书链问题 python -m pip install --upgrade pip # 临时绕过指定可信主机 pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org package-name包版本冲突最稳妥的办法是放弃旧环境、重建全新虚拟环境而不是逐个卸载修复python -m venv venv-new source venv-new/bin/activate # Windows: venv-new\Scripts\activate # 需要固定版本时显式指定 pip install pandas1.3.0 pip install numpy1.21.0 # 或让 pip 自己解析依赖 pip install jupyter pandas numpy matplotlib seaborn scikit-learn三、Jupyter Notebook 运行问题Jupyter 无法启动# 安装 pip install jupyter # 用模块方式启动可绕开 PATH 中找不到 jupyter 命令的问题 python -m jupyter notebook # 若装到了用户目录把 ~/.local/bin 加入 PATHmacOS/Linux export PATH$HOME/.local/bin:$PATHNotebook 无法加载或保存检查文件写权限ls -l notebook.ipynb # 确认有写权限 chmod 644 notebook.ipynb # 必要时修正检查文件是否损坏.ipynb本质是 JSON可用文本编辑器打开检查结构是否完整损坏时把内容复制进新建 Notebook。清理 Jupyter 缓存jupyter notebook --clear-cache单元格卡死In [*]中断内核点击 Interrupt 按钮或按键盘I, I重启内核Kernel 菜单 → Restart检查代码中的死循环清空输出Cell → All Output → Clear避免超长输出拖慢页面。matplotlib 图像不显示# 在 Notebook 顶部加入内联魔法命令 %matplotlib inline import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4]) plt.show() # 务必调用 show()交互式绘图可改用%matplotlib notebook或%matplotlib widget。本仓库大量绘图练习如 3-Data-Visualization/10-visualization-distributions/notebook.ipynb 的直方图与密度图都依赖该内联机制缺少%matplotlib inline时图形只会输出文本而不渲染。四、quiz-app 测验应用问题本仓库的测验应用位于 quiz-app是一个 Vue 2 项目。从 quiz-app/package.json 可以确认它基于vue/cli-service ~4.5.0、vue ^2.6.11、eslint ^6.7.2构建脚本为serve开发服务器、build生产构建、lint代码检查。vue-cli 4.x 这一代工具链对 Node.js 的版本要求不高12.x 以上即可这也是官方文档中建议node --version不低于 12.x 的依据。npm install 失败# 清缓存 npm cache clean --force # 删除依赖与锁文件后重装 rm -rf node_modules package-lock.json npm install # 仍失败时尝试忽略新版 peer 依赖校验 npm install --legacy-peer-deps应用无法启动npm run serve 失败node --version # 应为 12.x 或更高 cd quiz-app rm -rf node_modules package-lock.json npm install # 尝试换端口 npm run serve -- --port 8081端口被占用Port 8080 is already in use# macOS/Linux找到并结束占用 8080 的进程 lsof -ti:8080 | xargs kill -9 # Windows netstat -ano | findstr :8080 taskkill /PID PID /F # 或直接用其他端口 npm run serve -- --port 8081页面空白按 F12 打开浏览器控制台查看报错清理浏览器缓存与 Cookie换一个浏览器确认 JavaScript 已启用检查广告拦截插件是否干扰。# 重新构建后再启动 npm run build npm run serve从源码结构看quiz-app/public/routes.json 将所有路由/*回退到/index.html这是 SPA 的常规配置若构建产物不完整如npm run build中途失败刷新深层路由时就会出现白屏因此“重新 build serve”是有效的兜底手段。五、Git 与 GitHub 问题git 命令不存在Windows从 Git 官网安装后重启终端macOS# 通过 Homebrew 安装未装 Homebrew 需先按其官网指引安装 brew install git # 或安装 Xcode 命令行工具自带 git xcode-select --installLinuxsudo apt-get install git # Debian/Ubuntu sudo dnf install git # Fedoragit clone 认证失败# 使用 HTTPS 地址克隆仓库 git clone https://github.com/microsoft/Data-Science-For-Beginners.git # 若 GitHub 开启了 2FA在 GitHub 的 Personal Access Tokens 设置页 # 创建一个 Token克隆提示输入密码时使用 Token 代替密码SSH 公钥被拒Permission denied (publickey)# 生成 ed25519 密钥 ssh-keygen -t ed25519 -C your_emailexample.com # 启动 agent 并加载私钥 eval $(ssh-agent -s) ssh-add ~/.ssh/id_ed25519 # 将公钥内容添加到 GitHub 的 SSH keys 设置页 # 查看公钥cat ~/.ssh/id_ed25519.pub六、Docsify 文档站点问题本仓库的在线文档就是一个 Docsify 站点入口 index.html 通过 CDN 加载 docsify并在window.$docsify中配置了name、repo与relativePath: true——relativePath: true意味着所有 Markdown 内的图片、链接都按“相对当前文档”解析这正是后面“图片不显示”问题的技术根源。侧边栏内容来自 docs/_sidebar.md。docsify 命令不存在# 全局安装 docsify-cli npm install -g docsify-cli # macOS/Linux 权限不足时 sudo npm install -g docsify-cli # 验证 docsify --version # 仍找不到时查 npm 全局前缀并加入 PATH npm config get prefix export PATH$PATH:/usr/local/bin # 写入 ~/.bashrc 或 ~/.zshrc文档内容加载不出来# 必须在仓库根目录index.html 所在目录启动 cd Data-Science-For-Beginners # 确认入口文件存在 ls index.html # 指定端口启动 docsify serve --port 3000 # 打开浏览器控制台F12查看加载报错注意仓库根目录另有 package.json 与 docsifytopdf.js其convert脚本node_modules/.bin/docsify-to-pdf和contents: [docs/_sidebar.md]配置说明该目录也被用作 PDF 导出的工作目录——npm install装的是docsify-to-pdf这类工具链依赖与 quiz-app 的node_modules相互独立排查 npm 问题时不要混淆两个目录。图片显示为破损链接检查图片路径是否为相对路径Docsify 已开启relativePath确认图片文件确实存在于仓库对应目录清理浏览器缓存核对扩展名大小写是否一致部分系统文件系统区分大小写。七、数据与文件问题FileNotFoundError课程各节 Notebook 通常放在三级子目录如3-Data-Visualization/09-visualization-quantities/因此读取根目录data/下的文件时需要../回退。仓库中真实用例可印证这一点例如 3-Data-Visualization/09-visualization-quantities/solution/notebook.ipynb 使用pd.read_csv(../../../data/birds.csv)。import os # 1. 先看当前工作目录到底在哪里 print(os.getcwd()) # 2. 用绝对路径拼接避免相对路径歧义 data_path os.path.join(os.getcwd(), data, filename.csv) df pd.read_csv(data_path) # 3. 或者用相对路径相对于 Notebook 所在位置 df pd.read_csv(../data/filename.csv) # 4. 读之前先验证文件存在 print(os.path.exists(data/filename.csv))仓库实际提供的数据集见 data 目录birds.csv、mushrooms.csv、honey.csv、taxi.csv、emails.csv、form.csv等以及 data/COVID 下的三个疫情时间序列 CSV。CSV 读取错误import pandas as pd # 逐一尝试不同编码 df pd.read_csv(file.csv, encodingutf-8) # 或 df pd.read_csv(file.csv, encodinglatin-1) # 或 df pd.read_csv(file.csv, encodingISO-8859-1) # 显式声明缺失值标记 df pd.read_csv(file.csv, na_values[NA, N/A, ]) # 分隔符不是逗号时显式指定 df pd.read_csv(file.csv, delimiter;)结合仓库数据可以补充一条原文档未展开的实操细节data 目录下SOCR_MLB.tsv与diabetes.tsv是制表符分隔的 TSV 文件读取时应使用pd.read_csv(diabetes.tsv, sep\t)否则整行会被塞进单个字段。大数据集内存不足MemoryError# 分块读取 chunk_size 10000 chunks [] for chunk in pd.read_csv(large_file.csv, chunksizechunk_size): chunks.append(chunk) df pd.concat(chunks) # 只读需要的列 df pd.read_csv(file.csv, usecols[col1, col2]) # 使用更紧凑的数据类型 df pd.read_csv(file.csv, dtype{column_name: int32})八、性能问题Notebook 运行缓慢重启内核并清空输出Kernel → Restart Clear Output关闭不用的 Notebook用向量化操作替代 Python 循环# Bad逐元素循环 result [] for x in data: result.append(x * 2) # GoodNumPy/Pandas 向量化 result data * 2开发阶段对大表采样df_sample df.sample(n1000) # 或 df.head(1000)浏览器崩溃或无响应关闭无关标签页清理浏览器缓存提高浏览器内存上限Chrome 可在chrome://settings/system调整换用 JupyterLabpip install jupyterlab jupyter lab九、获取进一步帮助求助前的自检清单先查这份排查指南在 GitHub Issues 中搜索同类报错回顾 INSTALLATION.md 与 USAGE.md直接搜索完整报错文本。求助时务必包含的信息操作系统Windows / macOS / Linux发行版Python 版本运行python --version的结果完整报错信息复现步骤出错前做了什么已尝试的方案。示例格式**Operating System:** macOS 12.0 **Python Version:** 3.9.7 **Error Message:** ModuleNotFoundError: No module named pandas **Steps to Reproduce:** 1. Activated virtual environment 2. Started Jupyter notebook 3. Tried to import pandas **What Ive Tried:** - Ran pip install pandas - Restarted Jupyter相关文档INSTALLATION.md环境安装步骤USAGE.md课程使用方法CONTRIBUTING.md贡献规范README.md课程总览。适用范围说明本文中的命令与版本建议以当前仓库实际内容为准quiz-app 基于 Vue 2 vue-cli 4.x见 quiz-app/package.jsonNode.js 建议 12.x 以上课程核心 Python 栈为jupyter pandas numpy matplotlib seaborn scikit-learn。各节 Notebook 对数据路径的引用方式如../../../data/...取决于你打开 Notebook 的具体目录层级遇到FileNotFoundError时请先用os.getcwd()确认工作目录再修正相对路径。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表