跳到主要内容

1.2 准备工作

指导书推荐使用 Anaconda,理由是手动安装需要的依赖库繁琐且出错概率较高。

但其实 conda 的真正作用其实是管理非 Python 的依赖包,比如 cuda 环境、opensslffmpeg 甚至是 python-tk,总之原本是由 aptwinget 安装的依赖,现在可以由 conda 管理,并且还支持通过虚拟环境的方式,在不同的环境里安装不同的依赖。

但 conda 有个弊端,就是创建完虚拟环境之后,安装 Python 依赖的时候,若使用 pip 直接安装,可能导致依赖冲突,而若使用 uv 或 poetry 管理依赖,PyCharm 可以激活它们的虚拟环境,但无法加载 conda 环境中的系统依赖。

因此此处使用 pixi 来管理依赖,pixi 使用 uv 管理 Python 依赖,使用 conda 管理系统依赖,实现了用一个虚拟环境来管理所有的依赖。

1.2.1 安装 pixi 并创建环境

此处使用 pixi 自动管理依赖解决问题,虽然创建项目时仍需要手动添加依赖,但使用 pixi 可避免依赖冲突等问题,避免破坏环境。

  1. 安装 pixi

    curl -LsSf https://pixi.sh/install.sh | sh
  2. 使用 pixi 创建项目

    coder@dev-container:/mnt/documents/JetBrains/PyCharm/data-engineering-practice$ pixi init
    Created /mnt/documents/JetBrains/PyCharm/data-engineering-practice/pixi.toml
  3. 创建虚拟环境并添加依赖

    pixi add python=3.10
    pixi add --pypi numpy pandas scikit_learn xgboost lightgbm
  4. 添加 PyCharm 支持(PyCharm 原生支持在 YouTrack#PY-79041 讨论)

    pixi add pixi-pycharm

    并在 PyCharm 中添加已存在的 conda 虚拟环境,conda 路径为 <project>/.pixi/envs/default/libexec/conda,虚拟环境名称为 default