今天我使用以下命令创建了一个基于 PyPy
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)
我该如何解决这个问题,问题是什么?
命令
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”