python 中的 Kanren 问题 -> ImportError: 无法从 'collections' 导入名称 'Iterator'

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

我正在学习人工智能。使用教程点的 python,我到达了逻辑编程部分, 这里的程序是“匹配数学表达式”,他们考虑导入 Kanren 包。 这是以下代码

from kanren import run, var, fact
from kanren.assoccomm import eq_assoccomm as eq
from kanren.assoccomm import commutative, associative

这是它给我的以下错误

ImportError                               Traceback (most recent call last)
Cell In[3], line 1
----> 1 from kanren import run, var, fact
      2 from kanren.assoccomm import eq_assoccomm as eq
      3 from kanren.assoccomm import commutative, associative

File ~\anaconda3\lib\site-packages\kanren\__init__.py:7
      2 """
      3 kanren is a Python library for logic and relational programming.
      4 """
      5 from __future__ import absolute_import
----> 7 from unification import (unify, reify, unifiable, var, isvar, vars, variables,
      8                          Var)
     10 from .core import run, eq, conde, lall, lany
     11 from .goals import seteq, permuteq, goalify, membero

File ~\anaconda3\lib\site-packages\unification\__init__.py:1
----> 1 from .core import unify, reify
      2 from .more import unifiable
      3 from .variable import var, isvar, vars, variables, Var

File ~\anaconda3\lib\site-packages\unification\core.py:2
      1 from functools import partial
----> 2 from collections import Iterator
      3 from toolz.compatibility import iteritems, map
      4 from toolz import assoc

ImportError: cannot import name 'Iterator' from 'collections' (C:\Users\91997\anaconda3\lib\collections\__init__.py)

我正在使用 Jupyter Notebook 来存储我的 Python 代码,并且使用的是 Python 3.10.9 版本

我阅读了我尝试使用的问题

from collections.abc import Iterable

也尝试过

from collections.abc import Iterator

但是没有成功。

python jupyter-notebook collections iterable python-3.10
1个回答
0
投票

通过下载旧版本的python 就我而言,我下载了 3.9 版本, 它工作并给出了输出 我为以下 kanren 代码创建了一个 3.9 的新环境,并为我所有最新的代码保留了 3.10

© www.soinside.com 2019 - 2024. All rights reserved.