我正在学习人工智能。使用教程点的 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 就我而言,我下载了 3.9 版本, 它工作并给出了输出 我为以下 kanren 代码创建了一个 3.9 的新环境,并为我所有最新的代码保留了 3.10