当前位置:首页>python>初始阶段:第6课 Python 环境

初始阶段:第6课 Python 环境

  • 2026-10-11 06:49:31
初始阶段:第6课 Python 环境
与前几课不同,第6课没有按第1步、第2步等来说明,而是介绍Python环境的概念、构建、在接下来不同阶段的策略、pyproject.toml 的基础、锁定文件、及常见错误。
  • 在 AI/ML 领域,经常会遇到“依赖地域”--因某工具不同的版本,会绑定不同的功能。如,
  • PyTorch, Jax, and TensorFlow 它们会带有各自的 CUDA的绑定
    模型库需要特定的框架的版本
  • 全局的 pip install 安装会覆盖以前的内容
  • CUDA11.8的构建在12.x 版的驱动里无法运行,反之亦然。
解决以上问题的办法,是让每个项目有其自已单独的运行环境和功能包。
概念
有虚拟环境,刚每个项目即使使用不同的版本,如 A 使用torch2.4.0,B 使用 torch2.1.2,它们可以在自己的环境中正常运行;反之,如没有虚拟环境,则仅有一个torch版本的项目可以运行。
构建

选项1:uv venv(推荐)

uv(在第一课中已经安装过)是目前最快的 Python package 管理工具。它可以处理虚拟环境,python 版本,以及依赖问题。

选项2:venv(内建)
如果装不上 uv,可以激活python 内建的 venv。
python3 -m venv .venv
source .venv/bin/activate  # Linux/macOS
选项3:conda(需要时安装它)
    • 需要特殊的 CUDA 工具包版,却不想整个系统都装时
    • 当在一个共享的 cluster 上,却无法安装系统包时(不太懂,后续再跟进)
    • 一个库的安装指导提示使用 conda 时
    本系统课程不同阶段的策略
    阶段0-3,共享一个轻量级的开发环境;
    阶段4 使用PyTorch 环境;
    阶段5 使用相同的 PyTorch 环境;
    阶段8 也许会用不同的转换版本;
    阶段11会使用 API SDKs,不需要 torch。
    PyProject.toml基础
    pyproject.toml 会替代 setup.py,setup.cfg, 以及 requirements.txt。
    锁文件(或翻译成锁定文件?)
    一个锁文件将每个依赖指定到确切的版本上,从而保证从其安装时所用的包一定相同。
    常见错误
    1. 全局安装
    2. 将pip 与 conda 混淆
    3. 缺少激活
    4. 将.venv 提交到 git 上
    5. CUDA版本错误
    本课中自带了一个.sh 文件,可以创建本系列课程所需要的环境
    这一课,介绍了 Python 环境的相关内容。感觉操作一次也没怎么理解,应该是缺少较多的相关知识。课程有一个测试,可以评估学习者的相关能力,感兴趣的可以先去做一下这个测试。

    最新文章

    随机文章