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

Windows10下Conda安装Spectrochempy后pint.unit模块缺失问题求助

问题:Windows 10下Conda安装Spectrochempy后导入失败(缺失pint.unit模块)

在Windows 10系统通过Conda安装Spectrochempy,安装过程无报错,但执行from spectrochempy import *时触发如下错误:

from spectrochempy import *
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-eda726baf6bc> in <cell line: 1>()
----> 1 from spectrochempy import *

~\anaconda3\lib\site-packages\spectrochempy\__init__.py in <module>
     57 # import the main api
     58
----> 59 from spectrochempy import api
     60 from spectrochempy.api import *  # noqa: F401
     61

~\anaconda3\lib\site-packages\spectrochempy\api.py in <module>
     86 # ------------------------------------------------------------------
     87 # import the core api
----> 88 from . import core
     89 from .core import *  # noqa: F403, F401, E402
     90

~\anaconda3\lib\site-packages\spectrochempy\core\__init__.py in <module>
     29 # ======================================================================================================================
     30
----> 31 from ..utils import pstr  # noqa: E402
     32 import logging
     33 import inspect

~\anaconda3\lib\site-packages\spectrochempy\utils\__init__.py in <module>
     28 from .print import *
     29 from .file import *
----> 30 from .jsonutils import *
     31 from .misc import *
     32 from .packages import *

~\anaconda3\lib\site-packages\spectrochempy\utils\jsonutils.py in <module>
     18 import numpy as np
     19
----> 20 from spectrochempy.core.units import Quantity, Unit
     21
     22 __all__ = ["json_serialiser", "json_decoder"]

~\anaconda3\lib\site-packages\spectrochempy\core\units\__init__.py in <module>
     10 """
     11
----> 12 from .units import *  # noqa: F403, F401, E402

~\anaconda3\lib\site-packages\spectrochempy\core\units\units.py in <module>
     30
     31
----> 32 from pint.unit import UnitsContainer, Unit, UnitDefinition
     33 from pint.quantity import Quantity
     34 from pint.formatting import siunitx_format_unit

ModuleNotFoundError: No module named 'pint.unit'

已尝试的操作

  • 重启电脑
  • 执行conda update conda,提示所有请求的包已安装
  • 执行conda install pint/conda update pint,提示包已安装,单独执行from pint import *正常,但导入spectrochempy仍报错
  • 重装Python:卸载所有Python实例,删除相关目录并移除PATH中的Python项,重新安装Anaconda Python 3.9.13

解决方案

1. 安装兼容版本的Pint

Spectrochempy稳定版依赖特定版本的Pint(pint.unit模块在Pint 0.20+版本中已调整路径结构),需安装兼容版本:

  • 卸载当前Pint:
    conda uninstall -y pint
    
  • 安装指定兼容版本(如0.19.2):
    conda install pint=0.19.2
    

2. 创建独立Conda环境避免依赖冲突

环境依赖冲突是常见问题,建议新建专用环境安装:

  • 创建环境(指定Python 3.9以匹配你的Anaconda版本):
    conda create -n spectro_env python=3.9
    
  • 激活环境:
    conda activate spectro_env
    
  • 按官方流程重新安装Spectrochempy(此时Conda会自动安装所有兼容依赖)

3. 验证安装有效性

激活目标环境后,打开Python终端执行:

from spectrochempy import *
print(scp.__version__)

若无报错并输出版本号,说明安装成功。

4. 确认环境路径正确性

  • 查看当前激活的Conda环境:
    conda info --envs
    
  • 确认Python路径指向当前环境(Windows系统):
    where python
    
    需确保输出路径为conda/envs/spectro_env下的可执行文件,而非系统或其他Python路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 19:55:16