我已经从git存储库中安装了CLIPSpy,并遵循了使用源文件安装的说明。然而,在安装和运行python shell之后,我得到了以下错误:
`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
git-repo: https://github.com/noxdafox/clipspy
我遵循了指定clips目录将pyclips和导入剪辑作为python模块使用的建议,以指定clips的位置,但它仍然给出了相同的错误。
通过pip安装CLIPSpy获得了令人满意的结果:ModuleNotFoundError:没有名为“吡咯”的模块
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)我多次尝试通过github重新安装剪贴画,但同样的问题依然存在。有趣的是,我用了一段时间的弹夹作为替代,这给了我同样的错误。这可能与目录或安装有关,但我不确定它会是什么。
CLIPSpy的安装过程如下:
make:
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:
....
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:删除了与clips相关的文件,并进行了新的安装,我不再接收属性错误。相反,我得到了一个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我已经克隆了包含标记3.2的git存储库
编辑2:将位于/usr/lib/文件夹中的libclips.so.6文件重命名为libclips.so,从而修复了错误。
发布于 2019-03-07 10:06:46
我是clipspy模块的作者。我建议您为这些类型的事项打开一个GitHub问题,而不是这样的问题。
一般情况下,您所遇到的问题表明您正试图在肮脏的环境中安装Python模块。例如,通过pip安装是在noop中解析的,因为您事先运行了make install,pip看到包已经安装了。
要从git安装,您可以克隆特定标签,也可以从特定释放下载代码。clipspy使用标记来推断版本号,因此您可以看到警告:
UserWarning:指定的版本('0.3.2-2-g7dd9ca2')是一个无效的版本,对于setuptools、pip和PyPI的新版本来说,这可能不像预期的那样工作。详情请参阅PEP 440。
安装clipspy时常见的问题是setuptools的旧版本。您是否尝试过将其更新为更新的版本?
# pip install --upgrade setuptools最后一个注意事项,您是否也在系统中安装了PyCLIPS?命名空间将发生冲突,因为两个模块都被称为clips。这将解释错误跟踪:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Environment' object has no attribute 'assert_string'https://stackoverflow.com/questions/55033753
复制相似问题