TileLang 怎么卸载?pip 卸载 tilelang 与 tilelang-ascend、清编译缓存与残留
卸载 TileLang 分三步:先用 pip uninstall tilelang(昇腾侧 pip uninstall tilelang-ascend)移除包,再清 ~/.tilelang/cache 编译缓存与源码构建留下的 build/ 目录,最后用 import 报错和 pip show 无输出确认卸干净,并确保 CANN 与 torch-npu 未被牵连。
本文按「卸包 → 清残留 → 验收」讲。如果你只是想换版本而不是彻底移除,先看《TileLang 怎么更新》。
TileLang 标准卸载怎么做?
TileLang 卸载就是一次 pip 卸载,包名按当初装的路线写:NVIDIA 侧 pip uninstall tilelang,昇腾侧 pip uninstall tilelang-ascend(来源)。
- 确认当前装的是哪个包。执行
pip show tilelang与pip show tilelang-ascend。预期结果:只有其中一个有输出,那就是要卸的对象(来源)。 - 看清待删清单再确认。执行
pip uninstall tilelang(或tilelang-ascend),pip 会先列出将被移除的文件并等你确认。预期结果:清单只包含 TileLang 自己的文件,没有 torch-npu 之类的依赖。 - 确认卸载。在提示处输入
y,或直接加-y跳过交互。预期结果:终端打印Successfully uninstalled。 - 在虚拟环境里装的就删环境。如果 TileLang 装在 venv / conda 环境里且不再需要整个环境,直接删除该环境比逐个包卸载更干净。预期结果:环境目录消失,系统 Python 不受影响。
TileLang 卸载后有哪些残留、怎么清?
TileLang 的残留集中在三处:~/.tilelang/cache 编译缓存、源码构建留下的 build/ 目录,以及昇腾侧写进 shell 的 set_env.sh 环境变量(来源)。
- 清编译缓存。执行
rm -rf ~/.tilelang/cache。预期结果:缓存目录被删除,下次安装后编译不会复用卸载前的旧产物(来源)。 - 清源码构建目录。如果你当初是
git clone后本地构建的,删掉仓库里的build/与dist/。预期结果:这些目录不再占用磁盘,也不会在重装时被误用。 - 清 shell 里的环境变量。昇腾侧如果你手动
export ASCEND_HOME_PATH=...或把source set_env.sh写进了~/.bashrc,把多余的那行去掉。预期结果:新开的 shell 里echo $ASCEND_HOME_PATH的变化符合你的预期——但注意:CANN 本身的set_env.sh是给昇腾工具链用的,不要因为卸 TileLang 而删掉它。 - 清 pip 缓存(可选)。执行
pip cache purge可清掉 pip 自己下载的 wheel 缓存。预期结果:与该包相关的下载缓存被释放。
卸完怎么确认 TileLang 干净?
验收两条命令就够:python -c "import tilelang" 应报 ModuleNotFoundError,pip show tilelang 应无输出;昇腾侧用 tilelang-ascend 再验一遍(来源)。
- 验证不可导入。执行
python -c "import tilelang"。预期结果:报ModuleNotFoundError: No module named 'tilelang';若还能导入,说明装在另一个解释器或另一个环境里。 - 验证包记录已消失。执行
pip show tilelang(昇腾侧pip show tilelang-ascend)。预期结果:终端没有任何输出,或提示找不到该包。 - 确认依赖未被误伤。执行
python -c "import torch_npu; print(torch_npu.__version__)"与查看 CANN 版本。预期结果:两者仍正常,说明卸载只动了自己该动的部分(来源)。
TileLang 卸载的注意事项
- 别把 CANN 当残留删掉。CANN 是系统级安装、不经 pip 管理,卸载 TileLang 不需要也不应该动它;误删 CANN 会让整台昇腾机器的算子环境一起失效。
- torch-npu 要单独判断。它是 pip 包,升级或重装时可能被 pip 提示一起移除;除非你确认要换掉,否则保留。
- 卸载与回退不是一回事。只是想换版本走《TileLang 怎么更新》,卸载用于彻底移除或重来。
- 重装前先清缓存。干净卸载后重装,先把
~/.tilelang/cache清掉,重编一次换取结果的确定性。
恢复安装的完整步骤见《TileLang 怎么安装》,日常命令速查见《TileLang 命令大全》。
来源:TileLang Installation Guide、tilelang-ascend · PyPI、tile-ai/tilelang-ascend GitHub repository
常见问题
TileLang 卸载用 pip uninstall:按你当初装的路线写包名——NVIDIA 侧 pip uninstall tilelang,昇腾侧 pip uninstall tilelang-ascend。两条路线装的是两个独立包,只卸其中一个时,另一个仍会留在环境里。想一次清空就在虚拟环境里卸载后直接删除整个环境。
卸载 TileLang 不会删掉 CANN,因为 CANN 是系统级安装、不经 pip 管理;但 torch-npu 是 pip 包,如果你升级过它或手动装过,pip 在解析依赖时可能提示一起移除。卸载前看清 pip 列出的待删清单,只保留你要删的那一个,CANN 与 torch-npu 都该留着。
TileLang 的残留在三处:编译缓存目录 ~/.tilelang/cache、源码构建留在仓库里的 build/ 目录,以及昇腾侧 set_env.sh 写进 shell 的环境变量。前两个删目录即可,第三个从你的 shell 配置文件(如 ~/.bashrc)里去掉对应的 source 行。
确认 TileLang 卸干净看两条:python -c "import tilelang" 应报 ModuleNotFoundError,pip show tilelang 应无任何输出。昇腾侧把包名换成 tilelang-ascend 再验一遍,同时确认 CANN 与 torch-npu 的版本没变,说明卸载只动了自己该动的部分。
只卸 TileLang 而保留 ~/.tilelang/cache 不会导致装不上,但缓存里的产物可能来自你卸载前的旧版本,重装或换版本后仍命中旧产物会造成结果与预期不符。所以重装前先清一次该目录,等于用一次重编换取结果的确定性。
相关术语
- TileLang
- TileLang 是由北京大学团队发起、基于 TVM 编译栈的 tile 级领域特定语言,用类 Python 语法生成高性能 GPU / NPU kernel;DeepSeek 于 2026-09-30 宣布开源其昇腾适配版。— TileLang Installation Guide
- tilelang-ascend
- tilelang-ascend 是 TileLang 面向华为昇腾 NPU 的独立发行版,卸载命令为 pip uninstall tilelang-ascend,与 NVIDIA 侧的 tilelang 是两个包。— tilelang-ascend · PyPI
- 编译缓存
- TileLang 的编译缓存位于 ~/.tilelang/cache,保存已编译的 kernel 产物;卸载或换版本后应删除该目录,避免旧产物被复用到新环境。— TileLang Installation Guide
- ASCEND_HOME_PATH
- ASCEND_HOME_PATH 是昇腾工具链的根路径环境变量,通常由 CANN 的 set_env.sh 写入 shell;卸载 tilelang-ascend 时它不属于要删除的对象,CANN 本身要继续保留。— tilelang-ascend · PyPI
来源
- TileLang Installation Guide· TileLang (tile-ai)
- tilelang-ascend · PyPI· PyPI
- tile-ai/tilelang-ascend GitHub repository· GitHub