1.2 准备工作
指导书推荐使用 Anaconda,理由是手动安装需要的依赖库繁琐且出错概率较高。
但其实 conda 的真正作用其实是管理非 Python 的依赖包,比如 cuda 环境、openssl、ffmpeg 甚至是 python-tk,总之原本是由 apt 或 winget 安装的依赖,现在可以由 conda 管理,并且还支持通过虚拟环境的方式, 在不同的环境里安装不同的依赖。
但 conda 有个弊端,就是创建完虚拟环境之后,安装 Python 依赖的时候,若使用 pip 直接安装,可能导致依赖冲突,而若使用 uv 或 poetry 管理依赖,PyCharm 可以激活它们的虚拟环境,但无法加载 conda 环境中的系统依赖。
因此此处使用 pixi 来管理依赖,pixi 使用 uv 管理 Python 依赖,使用 conda 管理系统依赖,实现了用一个虚拟环境来管理所有的依赖。
1.2.1 安装 pixi 并创建环境
此处使用 pixi 自动管理依赖解决问题,虽然创建项目时仍需要手动添加依赖,但使用 pixi 可避免依赖冲突等问题,避免破坏环境。
-
安装 pixi
curl -LsSf https://pixi.sh/install.sh | sh -
使用 pixi 创建项目
coder@dev-container:/mnt/documents/JetBrains/PyCharm/data-engineering-practice$ pixi init
Created /mnt/documents/JetBrains/PyCharm/data-engineering-practice/pixi.toml -
创建虚拟环境并添加依赖
pixi add python=3.10
pixi add --pypi numpy pandas scikit_learn xgboost lightgbm -
添加 PyCharm 支持(PyCharm 原生支持在 YouTrack#PY-79041 讨论)
pixi add pixi-pycharm并在 PyCharm 中添加已存在的 conda 虚拟环境,conda 路径为
<project>/.pixi/envs/default/libexec/conda,虚拟环境名称为default。