ОШИБКА Pyswip: Системе не удалось найти указанный раздел реестра или значение - PullRequest
0 голосов
/ 21 декабря 2018

Я хочу использовать pyswip в моем проекте.Я пытался установить pyswip через Pycharm.Может быть успешно установлен.

  • ОС: Windows 10 64-разрядная
  • IDE: Pycharm 2018.3.2
  • Язык: Python 3.7
  • Версия Pyswip: 0.2.7

Проблема заключается в том, что я пытался запустить быстрый запускtest (Пример кода ниже взят из Руководство по установке Pyswip )

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:\Users\Coregame\PycharmProjects\Project1\venv\lib\site-packages\pyswip\__init__.py", line 29, in <module>
from pyswip.prolog import Prolog
  File "C:\Users\Coregame\PycharmProjects\Project1\venv\lib\site-packages\pyswip\prolog.py", line 28, in <module>
from pyswip.core import *
  File "C:\Users\Coregame\PycharmProjects\Project1\venv\lib\site-packages\pyswip\core.py", line 568, in <module>
(_path, SWI_HOME_DIR) = _findSwipl()
  File "C:\Users\Coregame\PycharmProjects\Project1\venv\lib\site-packages\pyswip\core.py", line 411, in _findSwipl
(path, swiHome) = _findSwiplWin()
  File "C:\Users\Coregame\PycharmProjects\Project1\venv\lib\site-packages\pyswip\core.py", line 208, in _findSwiplWin
    match = pattern.match(ret[-1])
IndexError: list index out of range

Что мне делать?Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Я встречал эту ошибку раньше, потому что мой Python 64-битный, поэтому я просто установил 32-битный Python, и он работает.

0 голосов
/ 25 декабря 2018

Вы, вероятно, используете 64-битный pyswip с установленным 32-битным SWI Prolog.Установите 64-битный SWI Prolog из здесь , и это должно решить проблему, хотя вы не сможете использовать SWI Prolog editor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...