我想在 Python 应用程序中使用 CLIPS 规则引擎。但是,我正在 Mac M2 上进行开发,因此流行的包装器 Clipspy 不可用。我的下一个最佳选择是什么?有没有什么好方法可以设置运行 CLIPS 并通过 REST 界面的单独 Web 服务器?我应该写入文件并使用子进程来调用 CLIPS 解释器吗?
CLIPS 解释器在我的 Mac M2 上运行,但我想要一种从 Python 与其交互的好方法。
clipspy 文档明确指出它不适用于 Mac M 架构。这是我安装 pip 并尝试导入后遇到的错误:
>>> import clips
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/tobrien6/Dev/game/py-server/venv/lib/python3.11/site-packages/clips/__init__.py", line 56, in <module>
from clips.environment import Environment
File "/Users/tobrien6/Dev/game/py-server/venv/lib/python3.11/site-packages/clips/environment.py", line 32, in <module>
from clips.facts import Facts
File "/Users/tobrien6/Dev/game/py-server/venv/lib/python3.11/site-packages/clips/facts.py", line 47, in <module>
from clips.modules import Module
File "/Users/tobrien6/Dev/game/py-server/venv/lib/python3.11/site-packages/clips/modules.py", line 40, in <module>
from clips.common import CLIPSError
File "/Users/tobrien6/Dev/game/py-server/venv/lib/python3.11/site-packages/clips/common.py", line 33, in <module>
from clips._clips import lib, ffi
ImportError: dlopen(/Users/tobrien6/Dev/game/py-server/venv/lib/python3.11/site-packages/clips/_clips.abi3.so, 0x0002): symbol not found in flat namespace '_ActivateRouter'
正如本问题中所解释的,一旦 GitHub actions 支持开源项目的架构,就会添加 MAC M 支持。
同时,如果编译遇到问题,可以使用Makefile并在项目中提出issue。