导入错误:无法从部分初始化的模块“matplotlib”导入名称“_c_internal_utils”

问题描述 投票:0回答:1

今天我使用以下命令创建了一个基于 PyPy

新 Conda 环境:

conda create -pypy1 pypy

激活后,我开始使用 conda-forge 通道安装软件包。例如,我使用 conda-forge 通道安装了 matplotlib,当我在激活的 Conda env 中输入

conda list matplotlib
时,我得到以下信息:

# packages in environment at C:\Users\Shayan\ypy1:
#
# Name                    Version                   Build  Channel
matplotlib-base           3.5.1            py38hd77b12b_1
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge

但是当我尝试导入 matplotlib 时,出现此错误:

>>> import matplotlib
----> 1 import matplotlib

File c:\Users\Shayan\ypy1\lib\site-packages\matplotlib\__init__.py:109, in <module>
    105 from packaging.version import parse as parse_version
    107 # cbook must import matplotlib only within function
    108 # definitions, so it is safe to import from it here.
--> 109 from . import _api, _version, cbook, docstring, rcsetup
    110 from matplotlib.cbook import MatplotlibDeprecationWarning, sanitize_sequence
    111 from matplotlib.cbook import mplDeprecation  # deprecated

File c:\Users\Shayan\ypy1\lib\site-packages\matplotlib\cbook\__init__.py:31, in <module>
     28 import numpy as np
     30 import matplotlib
---> 31 from matplotlib import _api, _c_internal_utils
     32 from matplotlib._api.deprecation import (
     33     MatplotlibDeprecationWarning, mplDeprecation)
     36 @_api.deprecated("3.4")
     37 def deprecated(*args, **kwargs):

ImportError: cannot import name '_c_internal_utils' from partially initialized module 'matplotlib' (most likely due to a circular import) (c:\Users\Shayan\ypy1\lib\site-packages\matplotlib\__init__.py)

我该如何解决这个问题,问题是什么?

python matplotlib conda pypy
1个回答
2
投票

命令

conda create -n pypy1 pypy
将使用默认的python版本3.8。 pypy3.8/3.9 软件包在 conda-forge 上的迁移已于几个月前开始,但 matplotlib 尚未迁移。我不确定你得到了什么包,但它不是一个可以与 pypy3.8 一起使用的包。

您可以通过

conda create -pypy1 pypy python=3.7

告诉 conda“请使用 pypy3.7”
© www.soinside.com 2019 - 2024. All rights reserved.