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

张开发
2026/4/12 20:11:06 15 分钟阅读

分享文章

阶段零:Python 安装与虚拟环境(venv / Conda)
第一章 阶段零前置准备与思维建立1 Python 安装与虚拟环境venv / Conda1.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 NotebookWeb 后端开发API 服务、网站后端、微服务Django, Flask, FastAPI, Tornado自动化与脚本系统管理、爬虫、CI/CD 脚本Requests, BeautifulSoup, Selenium, Fabric科学计算物理模拟、生物信息、工程计算SciPy, SymPy, Biopython量化交易策略回测、实盘交易Zipline, vn.py, BacktraderDevOps 与云基础设施基础设施即代码、容器编排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 python3.12• 或从 python.org 下载官方安装包• 注意 Apple Silicon (M1/M2/M3) 与 Intel 芯片的版本区别Linux• 多数发行版预装 Python 3但版本可能较旧•不要卸载系统自带的 Python系统工具依赖它• 使用apt/yum/dnf/pacman包管理器安装或源码编译• 推荐使用deadsnakesPPAUbuntu获取新版1.4.2 Windows 安装步骤方式一官方安装包推荐访问 python.org/downloads点击黄色按钮下载最新版如 Python 3.12.x运行安装程序勾选最下方Add Python to PATH点击Install Now或选择Customize installation自定义路径等待安装完成打开命令提示符 (cmd)或PowerShell输入python --version显示Python 3.12.x即成功方式二通过 wingetWindows 包管理器winget install Python.Python.3.121.4.3 macOS 安装步骤方式一Homebrew强烈推荐# 如未安装 Homebrew先安装/bin/bash-c$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)# 安装 Pythonbrewinstallpython3.12# 验证python3--version方式二官方安装包访问 python.org/downloads下载 macOS 64-bit universal2 installer双击 .pkg 文件按提示安装终端验证python3 --version注意事项macOS 系统命令python默认指向 Python 2.7请始终使用python3和pip3安装后建议配置别名alias pythonpython3写入~/.zshrc或~/.bash_profile1.4.4 Linux 安装步骤以 Ubuntu/Debian 为例方式一apt 包管理器版本可能旧sudoaptupdatesudoaptinstallpython3 python3-pip python3-venv方式二deadsnakes PPA获取最新版sudoaptupdatesudoaptinstallsoftware-properties-commonsudoadd-apt-repository ppa:deadsnakes/ppasudoaptupdatesudoaptinstallpython3.12 python3.12-venv python3.12-dev# 设置优先级可选sudoupdate-alternatives--install/usr/bin/python3 python3 /usr/bin/python3.121方式三源码编译完全控制# 安装编译依赖sudoaptinstallbuild-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# 下载源码wgethttps://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xztar-xfPython-3.12.2.tar.xzcdPython-3.12.2# 配置、编译、安装./configure --enable-optimizations--prefix/usr/localmake-j$(nproc)sudomakealtinstall# 使用 altinstall 避免覆盖系统 python3验证python3.12--version1.5 虚拟环境venv 与 Conda1.5.1 为什么要使用虚拟环境问题场景项目 A 需要 Django 3.2项目 B 需要 Django 4.2系统全局安装的 Django 只能有一个版本 → 冲突虚拟环境的核心价值价值说明隔离依赖每个项目有自己的 Python 解释器和包互不干扰版本管理同一台机器可同时运行不同版本的库可复现性requirements.txt或environment.yml可精确重建环境权限安全不需要管理员权限就能安装包保持全局干净系统 Python 只保留基础工具避免污染1.5.2 虚拟环境的优缺点✅ 优点环境隔离彻底避免依赖冲突方便项目迁移和团队协作可随意删除重建不影响其他项目支持导出依赖清单❌ 缺点占用额外磁盘空间每个环境复制一份 Python 二进制和库需要记住激活/停用命令对环境的管理需要额外学习成本跨环境切换有轻微心智负担1.5.3 venv vs Conda核心区别维度venvConda所属Python 内置3.3第三方Anaconda/Miniconda管理范围仅 Python 包Python 包 非 Python 库C/C 依赖如 CUDA、OpenCV跨语言支持仅 Python支持 R、Ruby、Lua、Java 等环境位置通常在项目目录内集中在~/miniconda3/envs/包来源PyPIpipConda 频道defaults/conda-forge PyPI二进制依赖需要系统预装如libjpeg自动安装激活方式source venv/bin/activateconda activate env_name适用场景纯 Python 项目、轻量级数据科学、机器学习、需要非 Python 库的项目磁盘占用较小~10-50 MB较大~500 MB - 2 GBWindows 支持良好venv\Scripts\activate优秀与 PowerShell/cmd 集成选择建议纯 Python Web 开发 / 脚本项目→venv轻量、够用数据科学 / 机器学习 / 深度学习→Conda自动处理 CUDA、numpy 等二进制依赖团队协作且环境复杂→Conda跨平台一致性更好1.6 venv 虚拟环境使用详解1.6.1 创建虚拟环境# 语法python-mvenv环境名称# 示例在当前目录下创建名为 myproject_env 的环境python-mvenv myproject_env# 指定 Python 解释器版本需要该版本已安装python3.10-mvenv myproject_env1.6.2 激活虚拟环境操作系统激活命令macOS / Linuxsource myproject_env/bin/activateWindows (cmd)myproject_env\Scripts\activate.batWindows (PowerShell)myproject_env\Scripts\Activate.ps1激活后命令行提示符会显示环境名称(myproject_env)userhost:~$1.6.3 安装包# 激活环境后pipinstalldjango pipinstallrequests2.31.0 pipinstall-rrequirements.txt1.6.4 导出依赖# 生成依赖清单pip freezerequirements.txt# 查看已安装包pip list1.6.5 退出虚拟环境deactivate1.6.6 删除虚拟环境# 直接删除目录即可rm-rfmyproject_env# macOS/Linuxrmdir/s myproject_env# Windows1.7 Conda 虚拟环境使用详解1.7.1 安装 CondaMiniconda 推荐Miniconda 是 Conda 的精简版仅包含包管理器和 Python。Windows / macOS / Linux 通用安装访问 docs.conda.io/en/latest/miniconda.html下载对应系统的安装包运行安装程序建议勾选Add Conda to PATHLinux / macOS 命令行安装# 下载 MinicondaLinux x86_64 示例wgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh# 运行安装脚本bashMiniconda3-latest-Linux-x86_64.sh# 按提示操作同意许可证选择安装路径默认 ~/miniconda3# 安装完成后重启终端或执行 source ~/.bashrc验证安装conda--version1.7.2 Conda 基础命令# 查看环境列表condaenvlist# 查看当前环境中的包conda list# 搜索包conda search numpy# 添加频道推荐 conda-forgeconda config--addchannels conda-forge conda config--setchannel_priority flexible1.7.3 创建虚拟环境# 基本语法conda create-n环境名python版本# 示例创建名为 ai_env 的环境Python 3.10conda create-nai_envpython3.10# 创建时同时安装包conda create-ndata_envpython3.11numpy pandas matplotlib# 从 environment.yml 文件创建condaenvcreate-fenvironment.yml1.7.4 激活 / 退出环境# 激活环境conda activate ai_env# 退出当前环境conda deactivate1.7.5 管理包# 激活环境后condainstallnumpy pandas scikit-learn condainstall-cconda-forge pytorch# 从特定频道安装# 使用 pip 安装当 conda 没有某包时pipinstallsome-package# 更新包conda update numpy# 卸载包conda remove numpy1.7.6 导出环境# 导出精确环境包含精确版本号和构建哈希condaenvexportenvironment.yml# 导出仅显式安装的包更便携condaenvexport--from-historyenvironment.ymlenvironment.yml示例name:ai_envdependencies:-python3.10-numpy1.24.3-pandas2.0.1-pip-pip:-torch2.0.1-transformers4.30.01.7.7 克隆环境conda create-nnew_env--cloneexisting_env1.7.8 删除环境condaenvremove-nai_env1.8 最佳实践与工作流建议项目结构示例my_ai_project/ ├── .gitignore ├── README.md ├── requirements.txt # 如果用 venv ├── environment.yml # 如果用 conda ├── data/ ├── notebooks/ ├── src/ │ ├── __init__.py │ └── main.py └── tests/推荐工作流venv# 1. 创建项目目录mkdirmy_projectcdmy_project# 2. 创建虚拟环境python-mvenv venv# 3. 激活环境sourcevenv/bin/activate# macOS/Linuxvenv\Scripts\activate# Windows# 4. 升级 pippipinstall--upgradepip# 5. 安装依赖pipinstall-rrequirements.txt# 6. 开发...# 7. 更新依赖pip freezerequirements.txt# 8. 退出deactivate推荐工作流Conda# 1. 创建环境conda create-nmyprojectpython3.10# 2. 激活conda activate myproject# 3. 安装包condainstallnumpy pandas jupyter# 4. 开发...# 5. 导出环境condaenvexport--from-historyenvironment.yml# 6. 退出conda deactivate# 7. 在其他机器上重建condaenvcreate-fenvironment.yml常见问题排查问题解决方案python: command not found检查 PATH重新安装并勾选Add to PATHpip 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 基础语法和常用数据结构。

更多文章