首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLIPSpy:在导入clips时获得“无模块名'clips._clips'”

CLIPSpy:在导入clips时获得“无模块名'clips._clips'”
EN

Stack Overflow用户
提问于 2019-03-06 23:21:51
回答 1查看 2.7K关注 0票数 0

我已经从git存储库中安装了CLIPSpy,并遵循了使用源文件安装的说明。然而,在安装和运行python shell之后,我得到了以下错误:

代码语言:javascript
复制
   `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目录之外运行相同的命令,则可以导入剪辑,但得到不同的错误。

代码语言:javascript
复制
>>> 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:没有名为“吡咯”的模块

代码语言:javascript
复制
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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
....
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

代码语言:javascript
复制
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,从而修复了错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-07 10:06:46

我是clipspy模块的作者。我建议您为这些类型的事项打开一个GitHub问题,而不是这样的问题。

一般情况下,您所遇到的问题表明您正试图在肮脏的环境中安装Python模块。例如,通过pip安装是在noop中解析的,因为您事先运行了make installpip看到包已经安装了。

要从git安装,您可以克隆特定标签,也可以从特定释放下载代码。clipspy使用标记来推断版本号,因此您可以看到警告:

UserWarning:指定的版本('0.3.2-2-g7dd9ca2')是一个无效的版本,对于setuptools、pip和PyPI的新版本来说,这可能不像预期的那样工作。详情请参阅PEP 440。

安装clipspy时常见的问题是setuptools的旧版本。您是否尝试过将其更新为更新的版本?

代码语言:javascript
复制
# pip install --upgrade setuptools

最后一个注意事项,您是否也在系统中安装了PyCLIPS?命名空间将发生冲突,因为两个模块都被称为clips。这将解释错误跟踪:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Environment' object has no attribute 'assert_string'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55033753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档