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

求助:运行Python代码出现AttributeError: pkg_resources无appdirs属性

解决AttributeError: module 'pkg_resources' has no attribute 'appdirs'错误

问题详情

运行调用OvationPyme库的Python代码时触发AttributeError,错误提示为module 'pkg_resources' has no attribute 'appdirs'。

错误回溯信息:

AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_10658/1029138787.py in <module>
      2 import datetime
      3 import matplotlib.pyplot as plt
----> 4 from ovationpyme.ovation_prime import FluxEstimator,AverageEnergyEstimator,BinCorrector
      5 from ovationpyme.ovation_utilities import calc_avg_solarwind
      6 from ovationpyme.ovation_plotting import latlt2polar,polar2dial,pcolor_flux

~/anaconda3/lib/python3.9/site-packages/ovationpyme-0.1.0-py3.9.egg/ovationpyme/__init__.py in <module>
----> 1 from . import ovation_prime
      2 from . import ovation_utilities
      3 from . import ovation_plotting

~/anaconda3/lib/python3.9/site-packages/ovationpyme-0.1.0-py3.9.egg/ovationpyme/ovation_prime.py in <module>
     10 from scipy import interpolate
     11 
----> 12 from ovationpyme import ovation_utilities
     13 
     14 from ovationpyme.ovation_utilities import robinson_auroral_conductance

~/anaconda3/lib/python3.9/site-packages/ovationpyme-0.1.0-py3.9.egg/ovationpyme/ovation_utilities.py in <module>
      9 
     10 from geospacepy import special_datetime, sun
----> 11 from nasaomnireader.omnireader import omni_interval
     12 from logbook import Logger
     13 log = Logger('OvationPyme.ovation_utilites')

~/anaconda3/lib/python3.9/site-packages/nasaomnireader-0.1.0-py3.9.egg/nasaomnireader/__init__.py in <module>
      1 # (C) 2020 University of Colorado AES-CCAR-SEDA (Space Environment Data Analysis) Group
      2 # Written by Liam M. Kilcommons
----> 3 from nasaomnireader.default_config import config

~/anaconda3/lib/python3.9/site-packages/nasaomnireader-0.1.0-py3.9.egg/nasaomnireader/default_config.py in <module>
      6 src_file_dir = os.path.dirname(os.path.realpath(__file__))
      7 
----> 8 appdirs = pkg_resources.appdirs.AppDirs('nasaomnireader','cuseda')
      9 
     10 data_dir = appdirs.user_data_dir #~/.local/share/AMGeO on Ubuntu

AttributeError: module 'pkg_resources' has no attribute 'appdirs'

运行的代码:

import numpy as np
import datetime
import matplotlib.pyplot as plt
from ovationpyme.ovation_prime import FluxEstimator,AverageEnergyEstimator,BinCorrector
from ovationpyme.ovation_utilities import calc_avg_solarwind
from ovationpyme.ovation_plotting import latlt2polar,polar2dial,pcolor_flux
from geospacepy.spherical_geometry import grid_surface_integral
import ipywidgets
from collections import OrderedDict
from functools import partial

解决方案

该错误源于nasaomnireader旧版本依赖pkg_resources.appdirs,但新版setuptools已移除该属性,可通过以下两种方式解决:

方法一:替换依赖并修改代码

  • 先安装独立的appdirs库:
pip install appdirs
  • 找到nasaomnireader的default_config.py文件(路径示例:~/anaconda3/lib/python3.9/site-packages/nasaomnireader-0.1.0-py3.9.egg/nasaomnireader/default_config.py),修改内容:
    • 添加import appdirs,移除原有的import pkg_resources(如果存在)
    • 将第8行的pkg_resources.appdirs.AppDirs改为appdirs.AppDirs

方法二:更新nasaomnireader到兼容版本

如果库有更新版本,直接升级即可,新版本大概率已修复该依赖问题:

pip install --upgrade nasaomnireader

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:50:12