You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本导入报错:无法从'logger'导入'get_logger'

解决ImportError: cannot import name 'get_logger' from 'logger'的问题

问题原因

你脚本里要导入的get_logger函数,不是你当前Python环境中安装的第三方logger包(即C:\Users\MyName\AppData\Local\Programs\Python\Python311\Lib\site-packages\logger)里的内容。这个第三方包的__init__.py中根本没有定义get_logger函数,所以导入失败。

你朋友的脚本原本依赖的是他自己编写的日志模块(可能是单个logger.py文件,或是名为logger的文件夹),里面才包含get_logger函数,但你未将这个自定义模块放到脚本可识别的位置。

解决方法(二选一即可)

方法一:修改脚本,用Python自带日志模块(最简单,无需额外文件)

把脚本中引发错误的这段代码:

from logger import get_logger       #<----- Error
dir_path = os.path.dirname(os.path.realpath(__file__))
logging = get_logger(dir_path)
logger = logging.getLogger(__name__)
logger = logging.getLogger()

替换为以下代码:

import logging
from logging.handlers import RotatingFileHandler
import os

dir_path = os.path.dirname(os.path.realpath(__file__))
# 配置日志:同时输出到脚本目录下的app.log文件和控制台
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    handlers=[
        RotatingFileHandler(os.path.join(dir_path, 'app.log'), maxBytes=1024*1024, backupCount=5),
        logging.StreamHandler()
    ]
)
logger = logging.getLogger(__name__)

这段代码用Python自带的logging标准库实现了和get_logger类似的功能:生成日志文件并在控制台打印日志,完全能满足脚本的日志需求。

方法二:找回朋友的自定义logger模块

  1. 若能联系上朋友,让他把自己编写的logger.py文件或包含get_logger函数的logger文件夹发给你。
  2. 将这个文件/文件夹放到你运行脚本的同一目录下,脚本会优先加载这个自定义模块,而非site-packages中的第三方包。
  3. 若仍有冲突,可卸载无用的第三方logger包:打开命令提示符,输入pip uninstall logger,按回车确认卸载。

内容的提问来源于stack exchange,提问作者F H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:05:39