移除PyO3 Rust模块后Python仍可导入,如何彻底清理?
解决PyO3模块删除后仍可导入的问题
问题出在你之前可能通过maturin develop、pip install .或类似命令,把编译好的PyO3模块安装到了Python的site-packages目录里。Cargo clean只会清理Rust构建的target目录,管不到Python的模块安装目录,按以下步骤操作即可解决:
定位Python的site-packages路径:
运行命令:python -c "import sys; print('\n'.join(sys.path))"在输出里找到带有
site-packages的路径,这就是Python存放第三方模块的核心目录。删除旧模块相关文件:
进入找到的site-packages目录,直接删除所有和my_old_rust_module相关的文件或目录(比如后缀为.so/.pyd的编译文件、同名模块目录)。如果使用了虚拟环境,务必找到虚拟环境下的site-packages路径,不要误删全局环境的文件。验证清理结果:
运行python -c "import my_old_rust_module",此时应该会抛出ModuleNotFoundError,说明旧模块已彻底清理。
内容的提问来源于stack exchange,提问作者mike rodent
相关产品推荐
相关产品推荐

