ImportError: cannot import name ‘SKIP_ADMIN_LOG‘ from ‘import_export.admin‘

在使用Django 2.2.24和Python 3.8.x时,遇到xadmin导入import_export.admin模块中'SKIP_ADMIN_LOG'的错误。通过修改xadmin的源代码,将`from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS`改为`from import_export.admin import DEFAULT_FORMATS, ImportMixin, ImportExportMixinBase`,问题得到解决。这是一个针对Django xadmin插件故障排除的有效方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ImportError: cannot import name ‘SKIP_ADMIN_LOG’ from ‘import_export.admin’

**转载自: https://coding.m.imooc.com/questiondetail?cid=131&qid=237010

亲测有效**
Django2.2.24
python3.8.x

在使用xadmin报错,xadmin复制老师的。
报错信息:


File “D:\AceMyProject\mxshop\mxshop\libs\xadmin\plugins_init_.py”, line 42, in
[import_module(‘xadmin.plugins.%s’ % plugin) for plugin in PLUGINS if plugin not in exclude_plugins]
File “e:\python380\lib\importlib_init_.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “

解决办法:
…\xadmin\plugins\

#from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
from import_export.admin import DEFAULT_FORMATS, ImportMixin, ImportExportMixinBase
### 解决 `ImportError` 导入错误问题 当遇到类似于 `ImportError: cannot import name '_DataLoaderIter' from 'torch.utils.data.dataloader'` 或者 `ImportError: cannot import name '_accumulate' from 'torch._utils'` 这样的导入错误时,通常是因为 PyTorch 版本及其依赖项之间的不兼容所引起的。 #### 方法一:确认并调整PyTorch版本 如果项目特定于某个旧版的PyTorch(如1.1.0),那么确保当前环境中安装的是该指定版本非常重要。可以使用pip来管理不同版本的库: ```bash pip install torch==1.1.0 torchvision==0.3.0 ``` 这一步骤有助于排除由于新特性或API变更带来的潜在冲突[^3]。 #### 方法二:检查CUDA版本匹配度 对于GPU加速的应用程序来说,CUDA驱动和工具链也需要与选定的PyTorch版本相适应。较低版本的PyTorch可能会要求更低版本的CUDA支持。可以通过官方文档查询各版本间的对应关系,并据此调整环境配置。 #### 方法三:手动引入缺失模块定义 有报告指出通过直接将所需功能源码加入到项目中可绕过某些情况下发生的此类错误。例如,在面对 `_wrap_function` 类似的导入失败时,可以从网上找到相应实现保存为单独文件再做引用。不过这种方法适用于特殊情况下的临时解决方案而非长久之计[^2]。 针对具体提到的 `'torch._utils'` 中找不到 `_accumulate` 函数的问题,建议先尝试更新至最新稳定版PyTorch,因为内部工具函数的位置和命名可能随时间有所变动。如果必须保持现有版本不变,则需深入研究目标版本的具体改动日志寻找替代方案或者查阅社区讨论获取更多帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值