运行anonymize.py时遇ModuleNotFoundError:找不到anonymizer.anonymization模块
解决ModuleNotFoundError: No module named 'anonymizer.anonymization'问题
问题原因
你在D:\anonymizer-master\anonymizer\bin目录下运行脚本时,Python默认仅在当前目录、标准库路径及已安装第三方库路径中查找模块。但anonymizer模块实际位于上级目录D:\anonymizer-master\anonymizer,不在Python的模块搜索路径内,因此导入失败。
解决方法
方法1:切换到正确目录运行脚本
打开命令行,先切换到anonymizer根目录,再执行脚本:
cd D:\anonymizer-master\anonymizer python bin/anonymize.py [你的参数]
方法2:临时添加模块路径到Python搜索路径
修改anonymize.py的开头部分,在导入模块前将上级目录加入搜索路径:
import argparse import sys import os # 添加上级目录到Python模块搜索路径 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from anonymizer.anonymization import Anonymizer from anonymizer.detection import Detector, download_weights, get_weights_path from anonymizer.obfuscation import Obfuscator
保存修改后,即可在原目录正常运行脚本。
方法3:将项目安装为可编辑包
若需长期使用该工具,找到D:\anonymizer-master\anonymizer目录下的setup.py或pyproject.toml文件,运行以下命令将项目安装为可编辑包:
pip install -e .
安装完成后,可在任意目录直接运行脚本或项目提供的命令。
内容的提问来源于stack exchange,提问作者YoungIN
相关产品推荐
相关产品推荐

