Pyswip错误:系统无法找到指定的注册表项或值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pyswip错误:系统无法找到指定的注册表项或值相关的知识,希望对你有一定的参考价值。

我想在我的项目中使用pyswip。我试图通过Pycharm安装pyswip。它可以成功安装。

  • AS:反向10 64位
  • IDE:Pycharm 2018.3.2
  • 语言:Python 3.7
  • Pyswip版本:0.2.7

问题是当我尝试运行快速运行测试时(以下示例代码来自Pyswip installation guide

from pyswip import Prolog
prolog = Prolog()
prolog.assertz("father(michael,john)")

出现错误

ERROR: The system was unable to find the specified registry key or value.
Traceback (most recent call last):
  File "C:/Users/Coregame/PycharmProjects/Project1/test.py", line 1, in <module>
from pyswip import Prolog
  File "C:UsersCoregamePycharmProjectsProject1venvlibsite-packagespyswip\__init__.py", line 29, in <module>
from pyswip.prolog import Prolog
  File "C:UsersCoregamePycharmProjectsProject1venvlibsite-packagespyswipprolog.py", line 28, in <module>
from pyswip.core import *
  File "C:UsersCoregamePycharmProjectsProject1venvlibsite-packagespyswipcore.py", line 568, in <module>
(_path, SWI_HOME_DIR) = _findSwipl()
  File "C:UsersCoregamePycharmProjectsProject1venvlibsite-packagespyswipcore.py", line 411, in _findSwipl
(path, swiHome) = _findSwiplWin()
  File "C:UsersCoregamePycharmProjectsProject1venvlibsite-packagespyswipcore.py", line 208, in _findSwiplWin
    match = pattern.match(ret[-1])
IndexError: list index out of range

我该怎么办?提前致谢!

答案

您可能使用安装了32位SWI Prolog的64位pyswip。从here安装64位SWI Prolog,它应该可以解决问题,尽管你将无法使用SWI Prolog编辑器。

以上是关于Pyswip错误:系统无法找到指定的注册表项或值的主要内容,如果未能解决你的问题,请参考以下文章

cmd中的chcp437怎么都改不成936

如何用批处理语句获取reg命令的返回值?

无法执行目录中的文件 错误2系统找不到指定文件怎么办?

战网1310错误代码

系统找不到指定路径怎么办

节点 gyp 错误跟踪器:错误 TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件