CLIPSpy:导入剪辑时获取“No module name'clips.\u clips'”

2024-10-03 21:30:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经从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目录之外运行相同的命令,我可以导入剪辑,但是会得到不同的错误。在

^{pr2}$

我的假设是ModuleNotFoundError可能是AttributeError的原因。在

操作系统:Arch Linux

git回购:https://github.com/noxdafox/clipspy

我遵循了指定剪辑目录using pyclips and import clips as a python module的建议来指定剪辑的位置,但它仍然给出了相同的错误。在

通过pip安装CLIPSpy得到了“令人满意”的结果:ModuleNotFoundError: No module named '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)

我多次尝试通过github重新安装clipspy,但同样的问题仍然存在。有趣的是,我曾经使用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,看看是否可以获得距离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: 删除与剪辑相关的文件并重新安装后,我不再收到属性错误。相反,我得到了一个

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: 通过重命名libclips.so文件.6文件,位于/usr/lib/文件夹中的libso剪辑 现在它起作用了。在


Tags: infrompyimportlinuxlibpackagesusr
1条回答
网友
1楼 · 发布于 2024-10-03 21:30:00

我是clipspy模块的作者。我建议你为这类问题打开一个GitHub问题,而不是一个SO问题。在

总而言之,您所遇到的问题表明您正试图在一个肮脏的环境中安装Python模块。例如,通过pip安装会在noop中解析,因为您事先运行了make install,而{}会看到包已经安装。在

要从git安装,您要么git克隆一个specific tag,要么从一个specific release下载代码。clipspy使用标记推断版本名,因此您会看到警告:

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.

安装clipspy时的一个常见问题是setuptools的旧版本。你试过把它更新到最新的版本吗?在

# pip install  upgrade setuptools

最后一个问题是,系统中是否也安装了PyCLIPS?由于两个模块都被称为clips,名称空间将发生冲突。这可以解释错误回溯:

^{pr2}$

相关问题 更多 >