阶段零:Python 安装与虚拟环境(venv / Conda)

第一章 阶段零:前置准备与思维建立

1 Python 安装与虚拟环境(venv / Conda)

1.1 Python 是什么?

Python 是一种高级、解释型、通用编程语言,由 Guido van Rossum 于 1991 年首次发布。它的设计哲学强调代码可读性和简洁语法(使用空格缩进来划分代码块),被称为"可执行的伪代码"。

核心特征:

  • 动态类型:变量不需要声明类型,运行时自动推断
  • 自动内存管理:有垃圾回收机制,无需手动管理内存
  • 解释执行:代码由解释器逐行执行,便于快速原型开发
  • 多范式支持:面向对象、函数式、过程式编程均可
  • "batteries included":标准库功能丰富,开箱即用

1.2 Python 的优缺点

✅ 优点
方面 说明
低门槛易上手 语法接近英语,缩进强制可读性,适合初学者
开发效率极高 动态类型 + 丰富库支持,代码量通常是 Java/C++ 的 1/5 ~ 1/3
生态极其庞大 PyPI 上有超过 50 万个包,几乎覆盖所有领域
跨平台 Windows / macOS / Linux / 甚至嵌入式(MicroPython)
胶水语言 可轻松调用 C / C++ / Rust / Fortran 库,适合性能关键模块
社区活跃 海量教程、Stack Overflow 问答、开源项目
就业市场需求大 数据科学、AI、后端、自动化等领域核心语言
❌ 缺点
方面 说明
执行速度相对慢 解释型语言,通常比 C / Rust / Go 慢 10~100 倍(但多数场景不明显)
全局解释器锁(GIL) 限制多线程 CPU 密集型任务的并行性(可用多进程绕过)
运行时错误 动态类型导致类型错误在运行时才暴露(可用 type hints + mypy 缓解)
移动端支持弱 几乎不用于 iOS / Android 原生开发
内存占用较高 相比 C/C++ 有更大内存开销

1.3 Python 的主要应用领域

领域 典型应用 代表库/框架
人工智能与机器学习 深度学习、自然语言处理、计算机视觉 TensorFlow, PyTorch, Scikit-learn, Hugging Face
数据科学与分析 数据处理、可视化、统计分析 Pandas, NumPy, Matplotlib, Jupyter Notebook
Web 后端开发 API 服务、网站后端、微服务 Django, Flask, FastAPI, Tornado
自动化与脚本 系统管理、爬虫、CI/CD 脚本 Requests, BeautifulSoup, Selenium, Fabric
科学计算 物理模拟、生物信息、工程计算 SciPy, SymPy, Biopython
量化交易 策略回测、实盘交易 Zipline, vn.py, Backtrader
DevOps 与云基础设施 基础设施即代码、容器编排 Ansible, SaltStack, OpenStack SDK
教育 编程入门教学 Turtle, Pygame, CodeSkulptor
网络安全 渗透测试、工具开发 Scapy, Impacket, Nmap 的 Python 封装

1.4 Python 安装(多操作系统)

1.4.1 安装前的注意事项
操作系统 注意事项
Windows • 安装时务必勾选 "Add Python to PATH"(否则命令行找不到 python 命令) • 建议选择 "Customize installation",将安装路径改为简短路径(如 C:\Python312) • 注意 32-bit 与 64-bit 版本选择(现代开发一律选 64-bit) • Windows Store 版本的 Python 有权限限制,不推荐使用
macOS • 系统自带 Python 2.7(已废弃),不要使用 • 推荐使用 Homebrew 安装:brew install python@3.12 • 或从 python.org 下载官方安装包 • 注意 Apple Silicon (M1/M2/M3) 与 Intel 芯片的版本区别
Linux • 多数发行版预装 Python 3,但版本可能较旧 • 不要卸载系统自带的 Python (系统工具依赖它) • 使用 apt / yum / dnf / pacman 包管理器安装或源码编译 • 推荐使用 deadsnakes PPA(Ubuntu)获取新版

1.4.2 Windows 安装步骤

方式一:官方安装包(推荐)

  1. 访问 python.org/downloads

  2. 点击黄色按钮下载最新版(如 Python 3.12.x)

  3. 运行安装程序

  4. 勾选最下方 Add Python to PATH

  5. 点击 Install Now(或选择 Customize installation 自定义路径)

  6. 等待安装完成

  7. 打开 命令提示符 (cmd)PowerShell,输入:

    cmd 复制代码
    python --version

    显示 Python 3.12.x 即成功

方式二:通过 winget(Windows 包管理器)

powershell 复制代码
winget install Python.Python.3.12

1.4.3 macOS 安装步骤

方式一:Homebrew(强烈推荐)

bash 复制代码
# 如未安装 Homebrew,先安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 Python
brew install python@3.12

# 验证
python3 --version

方式二:官方安装包

  1. 访问 python.org/downloads
  2. 下载 macOS 64-bit universal2 installer
  3. 双击 .pkg 文件,按提示安装
  4. 终端验证:python3 --version

注意事项

  • macOS 系统命令 python 默认指向 Python 2.7,请始终使用 python3pip3
  • 安装后建议配置别名:alias python=python3(写入 ~/.zshrc~/.bash_profile

1.4.4 Linux 安装步骤(以 Ubuntu/Debian 为例)

方式一:apt 包管理器(版本可能旧)

bash 复制代码
sudo apt update
sudo apt install python3 python3-pip python3-venv

方式二:deadsnakes PPA(获取最新版)

bash 复制代码
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12 python3.12-venv python3.12-dev

# 设置优先级(可选)
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1

方式三:源码编译(完全控制)

bash 复制代码
# 安装编译依赖
sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev \
  libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev \
  libbz2-dev libexpat1-dev liblzma-dev tk-dev libffi-dev

# 下载源码
wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz
tar -xf Python-3.12.2.tar.xz
cd Python-3.12.2

# 配置、编译、安装
./configure --enable-optimizations --prefix=/usr/local
make -j $(nproc)
sudo make altinstall   # 使用 altinstall 避免覆盖系统 python3

验证

bash 复制代码
python3.12 --version

1.5 虚拟环境(venv 与 Conda)

1.5.1 为什么要使用虚拟环境?

问题场景:

  • 项目 A 需要 Django 3.2
  • 项目 B 需要 Django 4.2
  • 系统全局安装的 Django 只能有一个版本 → 冲突

虚拟环境的核心价值:

价值 说明
隔离依赖 每个项目有自己的 Python 解释器和包,互不干扰
版本管理 同一台机器可同时运行不同版本的库
可复现性 requirements.txtenvironment.yml 可精确重建环境
权限安全 不需要管理员权限就能安装包
保持全局干净 系统 Python 只保留基础工具,避免污染

1.5.2 虚拟环境的优缺点

✅ 优点

  • 环境隔离彻底,避免依赖冲突
  • 方便项目迁移和团队协作
  • 可随意删除重建,不影响其他项目
  • 支持导出依赖清单

❌ 缺点

  • 占用额外磁盘空间(每个环境复制一份 Python 二进制和库)
  • 需要记住激活/停用命令
  • 对环境的管理需要额外学习成本
  • 跨环境切换有轻微心智负担

1.5.3 venv vs Conda:核心区别
维度 venv Conda
所属 Python 内置(3.3+) 第三方(Anaconda/Miniconda)
管理范围 仅 Python 包 Python 包 + 非 Python 库(C/C++ 依赖如 CUDA、OpenCV)
跨语言支持 仅 Python 支持 R、Ruby、Lua、Java 等
环境位置 通常在项目目录内 集中在 ~/miniconda3/envs/
包来源 PyPI(pip) Conda 频道(defaults/conda-forge) + PyPI
二进制依赖 需要系统预装(如 libjpeg 自动安装
激活方式 source venv/bin/activate conda activate env_name
适用场景 纯 Python 项目、轻量级 数据科学、机器学习、需要非 Python 库的项目
磁盘占用 较小(~10-50 MB) 较大(~500 MB - 2 GB)
Windows 支持 良好(venv\Scripts\activate 优秀(与 PowerShell/cmd 集成)

选择建议:

  • 纯 Python Web 开发 / 脚本项目venv(轻量、够用)
  • 数据科学 / 机器学习 / 深度学习Conda(自动处理 CUDA、numpy 等二进制依赖)
  • 团队协作且环境复杂Conda(跨平台一致性更好)

1.6 venv 虚拟环境使用详解

1.6.1 创建虚拟环境
bash 复制代码
# 语法
python -m venv <环境名称>

# 示例:在当前目录下创建名为 myproject_env 的环境
python -m venv myproject_env

# 指定 Python 解释器版本(需要该版本已安装)
python3.10 -m venv myproject_env
1.6.2 激活虚拟环境
操作系统 激活命令
macOS / Linux source myproject_env/bin/activate
Windows (cmd) myproject_env\Scripts\activate.bat
Windows (PowerShell) myproject_env\Scripts\Activate.ps1

激活后,命令行提示符会显示环境名称:

bash 复制代码
(myproject_env) user@host:~$
1.6.3 安装包
bash 复制代码
# 激活环境后
pip install django
pip install requests==2.31.0
pip install -r requirements.txt
1.6.4 导出依赖
bash 复制代码
# 生成依赖清单
pip freeze > requirements.txt

# 查看已安装包
pip list
1.6.5 退出虚拟环境
bash 复制代码
deactivate
1.6.6 删除虚拟环境
bash 复制代码
# 直接删除目录即可
rm -rf myproject_env      # macOS/Linux
rmdir /s myproject_env    # Windows

1.7 Conda 虚拟环境使用详解

1.7.1 安装 Conda(Miniconda 推荐)

Miniconda 是 Conda 的精简版,仅包含包管理器和 Python。

Windows / macOS / Linux 通用安装:

  1. 访问 docs.conda.io/en/latest/miniconda.html
  2. 下载对应系统的安装包
  3. 运行安装程序(建议勾选"Add Conda to PATH")

Linux / macOS 命令行安装:

bash 复制代码
# 下载 Miniconda(Linux x86_64 示例)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh

# 按提示操作,同意许可证,选择安装路径(默认 ~/miniconda3)
# 安装完成后重启终端或执行 source ~/.bashrc

验证安装:

bash 复制代码
conda --version

1.7.2 Conda 基础命令
bash 复制代码
# 查看环境列表
conda env list

# 查看当前环境中的包
conda list

# 搜索包
conda search numpy

# 添加频道(推荐 conda-forge)
conda config --add channels conda-forge
conda config --set channel_priority flexible

1.7.3 创建虚拟环境
bash 复制代码
# 基本语法
conda create -n <环境名> python=<版本>

# 示例:创建名为 ai_env 的环境,Python 3.10
conda create -n ai_env python=3.10

# 创建时同时安装包
conda create -n data_env python=3.11 numpy pandas matplotlib

# 从 environment.yml 文件创建
conda env create -f environment.yml

1.7.4 激活 / 退出环境
bash 复制代码
# 激活环境
conda activate ai_env

# 退出当前环境
conda deactivate

1.7.5 管理包
bash 复制代码
# 激活环境后
conda install numpy pandas scikit-learn
conda install -c conda-forge pytorch   # 从特定频道安装

# 使用 pip 安装(当 conda 没有某包时)
pip install some-package

# 更新包
conda update numpy

# 卸载包
conda remove numpy

1.7.6 导出环境
bash 复制代码
# 导出精确环境(包含精确版本号和构建哈希)
conda env export > environment.yml

# 导出仅显式安装的包(更便携)
conda env export --from-history > environment.yml

environment.yml 示例:

yaml 复制代码
name: ai_env
dependencies:
  - python=3.10
  - numpy=1.24.3
  - pandas=2.0.1
  - pip
  - pip:
    - torch==2.0.1
    - transformers==4.30.0

1.7.7 克隆环境
bash 复制代码
conda create -n new_env --clone existing_env

1.7.8 删除环境
bash 复制代码
conda env remove -n ai_env

1.8 最佳实践与工作流建议

项目结构示例
复制代码
my_ai_project/
├── .gitignore
├── README.md
├── requirements.txt      # 如果用 venv
├── environment.yml       # 如果用 conda
├── data/
├── notebooks/
├── src/
│   ├── __init__.py
│   └── main.py
└── tests/
推荐工作流(venv)
bash 复制代码
# 1. 创建项目目录
mkdir my_project && cd my_project

# 2. 创建虚拟环境
python -m venv venv

# 3. 激活环境
source venv/bin/activate      # macOS/Linux
venv\Scripts\activate         # Windows

# 4. 升级 pip
pip install --upgrade pip

# 5. 安装依赖
pip install -r requirements.txt

# 6. 开发...

# 7. 更新依赖
pip freeze > requirements.txt

# 8. 退出
deactivate
推荐工作流(Conda)
bash 复制代码
# 1. 创建环境
conda create -n myproject python=3.10

# 2. 激活
conda activate myproject

# 3. 安装包
conda install numpy pandas jupyter

# 4. 开发...

# 5. 导出环境
conda env export --from-history > environment.yml

# 6. 退出
conda deactivate

# 7. 在其他机器上重建
conda env create -f environment.yml
常见问题排查
问题 解决方案
python: command not found 检查 PATH,重新安装并勾选"Add to PATH"
pip install 权限错误 未激活虚拟环境,或使用 --user 标志
conda 命令不存在 未初始化 conda,运行 conda init 并重启终端
激活环境后仍用系统 Python 检查激活脚本是否执行成功,用 which python 验证
虚拟环境跨操作系统不兼容 不要跨 OS 复制 venv 目录,用 requirements.txt 重建

1.9 本章小结

  • Python 是一门易学、生态强大的语言,在 AI/数据科学/Web 等领域占据主导地位
  • 安装时根据操作系统选择合适方式,务必注意 PATH 配置
  • 虚拟环境是项目隔离的必需品,初学者应养成"每个项目一个虚拟环境"的习惯
  • venv 适合纯 Python 项目,轻量简单
  • Conda 适合数据科学/ML 项目,自动处理二进制依赖
  • 记住三个核心命令:创建 → 激活 → 安装包

下一步: 在搭建好的 Python 环境中,我们将在下一节学习 Python 基础语法和常用数据结构。

相关推荐
黑剑客与剑2 小时前
pycdc-studio v0.1.8,支持Pyarmor 解密
python·pycdc·pyarmor·pycdc-studio
dr_yingli2 小时前
fMRI(4-1)统计分析报告生成器说明
开发语言·matlab
岁岁的O泡奶2 小时前
NSSCTF_reverse_[SWPUCTF 2022 新生赛]base64——[HDCTF 2023]easy_re
经验分享·python·逆向
Rubin智造社2 小时前
04月12日AI每日参考:企业级AI入口争夺升温,舱驾融合芯片加速落地
人工智能·openai·智能体·anthropic·企业级ai·人工智能+
薛定e的猫咪2 小时前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
wgzrmlrm742 小时前
Django怎么优雅发送邮件_Python配置SMTP后端实现异步通知
jvm·数据库·python
d1z8882 小时前
(二十)32天GPU测试从入门到精通-llama.cpp CPU/GPU 混合推理day18
人工智能·llama·显卡·llama.cpp
帐篷Li2 小时前
MiniMax Music 2.6 博客素材分析文档
人工智能
sp_fyf_20242 小时前
【大语言模型】 AVGen-Bench:一个用于文本到音频-视频生成的多粒度、任务驱动型评估基准
人工智能·深度学习·神经网络·机器学习·语言模型·数据挖掘·音视频