Я установил CLIPSpy из репозитория git и следовал инструкциям по установке с исходными файлами. Однако после установки и запуска оболочки python я получаю эту ошибку:
`import clips
.../clipspy/clips/__init__.py", line 30, in <module>
from clips.error import CLIPSError
.../clipspy/clips/error.py", line 32, in <module>
from clips.router import Router
.../clipspy/clips/router.py", line 7, in <module>
from clips._clips import lib, ffi
ModuleNotFoundError: No module named 'clips._clips'`
Несмотря на эту ошибку, если я запускаю те же команды вне моего каталога CLIPSpy, я могу импортировать клипы, но получаю другую ошибку.
>>> import clips
>>> env = clips.Environment()
>>> env.assert_string("(test 12)")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Environment' object has no attribute 'assert_string'
Я предполагаю, что ModuleNotFoundError может отвечать за AttributeError .
ОС: Arch Linux
GIT-РЕПО: https://github.com/noxdafox/clipspy
Я последовал совету указания каталога клипов, с использованием pyclips и импорта клипов в качестве модуля python , чтобы указать местоположение клипов, но он все равно выдает мне ту же ошибку.
Установка CLIPSpy через pip дала «удовлетворительные» результаты: ModuleNotFoundError: Нет модуля с именем «pygame»
Requirement already satisfied: clipspy in /usr/lib/python3.7/site-packages/clipspy-0.3.2_2_g7dd9ca2-py3.7-linux-x86_64.egg (0.3.2-2-g7dd9ca2)
Requirement already satisfied: cffi>=1.0.0 in /usr/lib/python3.7/site-packages (from clipspy) (1.12.2)
Requirement already satisfied: pycparser in /usr/lib/python3.7/site-packages (from cffi>=1.0.0->clipspy) (2.19)
Я много раз пытался переустановить clipspy через github, но та же проблема сохраняется. Интересно то, что я некоторое время использовал pyclips как альтернативу, и это выдало мне ту же ошибку. Это может быть связано с каталогом или установкой, но я не уверен, что это может быть.
Процесс установки CLIPSpy был следующим:
сделать:
python setup.py build_ext --include-dirs clips_source \
--library-dirs clips_source
/usr/lib/python3.7/site-packages/setuptools/dist.py:484: UserWarning: The version specified ('0.3.2-2-g7dd9ca2') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
"details." % self.metadata.version
running build_ext
generating cffi module 'build/temp.linux-x86_64-3.7/_clips.c'
already up-to-date
Я попытался переустановить setuptools, чтобы посмотреть, смогу ли я получить действительную версию dist.py, но, увы, ничего не изменилось.
sudo make install:
....
Installed /usr/lib/python3.7/site-packages/clipspy-0.3.2_2_g7dd9ca2-py3.7-linux-x86_64.egg
Processing dependencies for clipspy===0.3.2-2-g7dd9ca2
Searching for cffi==1.12.2
Best match: cffi 1.12.2
Adding cffi 1.12.2 to easy-install.pth file
Using /usr/lib/python3.7/site-packages
Searching for pycparser==2.19
Best match: pycparser 2.19
Adding pycparser 2.19 to easy-install.pth file
Using /usr/lib/python3.7/site-packages
Finished processing dependencies for clipspy===0.3.2-2-g7dd9ca2
Решение может быть чем-то простым, но я не могу понять, что это такое.
Буду очень признателен за любую помощь или совет, что делать или где я ошибся.
РЕДАКТИРОВАТЬ 1:
После удаления файлов, связанных с клипами, и после новой установки я больше не получаю Ошибка атрибута . Скорее я получаю ImportError
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.7/site-packages/clipspy-0.3.1-py3.7-linux-x86_64.egg/clips/__init.py", line 30, in <module> from clips.error import CLIPSError
File "/usr/lib/python3.7/site-packages/clipspy-0.3.1-py3.7-linux-x86_64.egg/clips/error.py", line 32, in <module> from clips.router import Router
File "/usr/lib/python3.7/site-packages/clipspy-0.3.1-py3.7-linux-x86_64.egg/clips/router.py", line 7, in <module> from clips._clips import lib ffi
Import Error: libclips.so: cannot open shared object file: No such file or directory
Я клонировал репозиторий git, содержащий тег 3.2
РЕДАКТИРОВАТЬ 2:
Удалось исправить ошибку, переименовав файл libclips.so.6 , расположенный в папке / usr / lib / , в libclips.so
Теперь это работает.