4·基础入门入门

开发环境搭建:Python、Jupyter 与 IDE

setuppython

第4课 - 开发环境搭建:Python、Jupyter 与 IDE

1. 学习目标

完成本课学习后,你将能够:

  • 独立安装并配置适合机器学习开发的 Python 环境。
  • 理解并使用 Jupyter Notebook 进行交互式编程和数据分析。
  • 熟悉一种主流集成开发环境(IDE)的基本操作,并编写第一个 .py 脚本。
  • 掌握使用虚拟环境管理项目依赖的基本方法。

2. 核心概念

Python 是机器学习领域的通用语言,拥有庞大的生态系统(如 NumPy, Pandas, Scikit-learn)。我们推荐使用 Anaconda 发行版进行安装,因为它预先打包了数百个科学计算包,能避免许多“依赖地狱”的问题。

Jupyter Notebook 是一个革命性的工具,它将代码、可视化图表和叙述性文本(Markdown)融合在一个文档中。你可以将它理解为一个“交互式的实验记录本”,非常适合进行数据探索、模型原型开发和结果展示。

集成开发环境(IDE),如 VS Code 或 PyCharm,提供了更强大的代码编辑、调试、项目管理功能。对于编写可维护、可部署的脚本和应用程序来说,IDE 是更专业的选择。

虚拟环境(Virtual Environment) 是一个隔离的 Python 环境。它能为每个项目创建独立的“沙盒”,防止项目A和项目B所需的包版本发生冲突。这是专业开发的标准实践。

3. 代码示例

3.1 验证 Python 安装与版本

安装完成后,在你的终端(Windows 下是 CMD 或 PowerShell,macOS/Linux 下是 Terminal)运行以下命令。

# 文件名:check_python.py
# 在终端中运行:python check_python.py 或 python3 check_python.py

import sys
import platform
import numpy as np  # 这是我们将要学习的重要库,先用来验证安装

print("="*50)
print("Python 环境检查报告")
print("="*50)
print(f"Python 解释器版本: {sys.version}")
print(f"操作系统: {platform.system()} {platform.release()}")
print(f"NumPy 版本 (已成功导入): {np.__version__}")
print("="*50)
print("环境检查通过!准备就绪。")

预期输出:

==================================================
Python 环境检查报告
==================================================
Python 解释器版本: 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]
操作系统: Linux 5.15.0-56-generic
NumPy 版本 (已成功导入): 1.24.3
==================================================
环境检查通过!准备就绪。

3.2 在 Jupyter Notebook 中运行代码

  1. 在终端中输入 jupyter notebook 并回车,浏览器会自动打开。
  2. 点击右上角的 “New” -> “Python 3”,创建一个新的笔记本。
  3. 在第一个单元格中输入以下代码,然后按 Shift + Enter 运行。
# 这是一个 Jupyter Notebook 单元格
# 我们可以混合使用代码和 Markdown 文本

# 导入 matplotlib 用于简单绘图
import matplotlib.pyplot as plt

# 创建一些数据
years = [2018, 2019, 2020, 2021, 2022, 2023]
popularity = [65, 72, 80, 85, 90, 95] # 假设的 Python 在机器学习中的流行度指数

# 绘制折线图
plt.figure(figsize=(8, 4))
plt.plot(years, popularity, marker='o', color='b')
plt.title('Python Popularity in ML (Hypothetical)')
plt.xlabel('Year')
plt.ylabel('Popularity Index')
plt.grid(True)
plt.show()

print("图表已生成,请查看上方的输出区域。")

3.3 创建并使用虚拟环境(以 venv 为例)

在终端中执行以下命令:

# 1. 创建一个名为 `ml_env` 的虚拟环境
python -m venv ml_env

# 2. 激活虚拟环境 (Windows)
# ml_env\Scripts\activate

# 2. 激活虚拟环境 (macOS/Linux)
source ml_env/bin/activate

# 激活后,终端提示符通常会显示环境名,例如:(ml_env) user@machine $

# 3. 在激活的环境中安装包,例如安装 numpy
pip install numpy

# 4. 验证安装
python -c "import numpy; print(f'NumPy version in venv: {numpy.__version__}')"

# 5. 查看已安装的包列表
pip list

# 6. 退出虚拟环境
deactivate

4. 实践练习

练习 1:基础环境验证

  • 要求:在终端中运行一个 Python 单行命令,同时打印出你的 Python 版本和 sys 模块的路径。
  • 提示:使用 python -c "代码" 的形式。
  • 预期输出示例
    Python Version: 3.10.12
    sys.path: ['/usr/lib/python310.zip', ...]
    

练习 2:Jupyter 交互探索

  • 要求
    1. 新建一个 Jupyter Notebook。
    2. 在第一个单元格中,使用 ??? 查看 list 类型 append 方法的文档(例如,输入 list.append?)。
    3. 在第二个单元格中,创建一个列表 my_list = [1, 2, 3],调用它的 append 方法添加元素 4,并打印结果。
  • 预期输出:第二个单元格应输出 [1, 2, 3, 4]

练习 3:虚拟环境实战

  • 要求
    1. 创建一个名为 my_ml_project 的虚拟环境。
    2. 激活它。
    3. 安装 pandas 库。
    4. 在该环境中运行一个 Python 脚本(或直接在交互式解释器中),导入 pandas 并打印其版本。
    5. 退出该虚拟环境。
    6. 尝试在全局(非激活)环境中运行相同的导入 pandas 命令,观察会发生什么并解释原因。

5. 常见错误

  1. python 命令指向 Python 2:在 macOS/Linux 上,系统可能预装了 Python 2。使用 python3pip3 来确保调用的是 Python 3。
  2. pip 安装包时提示权限不足:不要使用 sudo pip install。正确做法是使用虚拟环境,或者为当前用户安装 pip install --user package_name
  3. Jupyter Notebook 内核找不到:如果在 Jupyter 中运行代码时发现它使用的是全局环境而非你的虚拟环境,需要先将虚拟环境注册为 Jupyter 内核。在激活的虚拟环境中运行:
    pip install ipykernel
    python -m ipykernel install --user --name=my_ml_project
    
  4. 在 IDE 中选择解释器:在 VS Code 或 PyCharm 中,一定要手动选择你创建的虚拟环境对应的 Python 解释器路径(例如 my_ml_project/bin/python),否则你的脚本将无法找到虚拟环境中安装的包。

6. 小结

  • Anaconda/Miniconda 为机器学习开发提供了便捷的 Python 发行版,内置了大量科学计算包。
  • Jupyter Notebook 是进行交互式数据分析、可视化和快速原型开发的利器。
  • IDE (VS Code/PyCharm) 提供了专业级的代码编写、调试和项目管理能力,适合开发正式的脚本和项目。
  • 虚拟环境 (venvconda) 是管理项目依赖、避免版本冲突的最佳实践,务必养成习惯。
  • 一个稳固、隔离的开发环境是高效进行机器学习实践的第一块基石。环境问题往往消耗初学者大量时间,做好这一步将让你后续的学习之路顺畅许多。

练习编辑器

rust
Loading...

继续学习

完成本课后,建议继续学习下一课「NumPy 基础:数组与向量化运算」 以巩固所学知识。