首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行Test.py的ImportError

运行Test.py的ImportError
EN

Stack Overflow用户
提问于 2018-03-09 23:44:03
回答 1查看 273关注 0票数 0

我最近下载了ACRCloud,并开始尝试用它来识别Raspberry Pi上的音乐。因此,我做的第一件事是使用以下命令运行setup.py脚本:

代码语言:javascript
复制
sudo python setup.py install

一切都运行得很好,并且创建了所有必要的文件。接下来我要做的就是在test.py文件中输入我的API信息。当前输入的信息如下所示:

代码语言:javascript
复制
#!/usr/bin/env python
#-*- coding:utf-8 -*-

'''
    >>> python test.py test.mp3
'''

import os, sys
from acrcloud.recognizer import ACRCloudRecognizer
from acrcloud.recognizer import ACRCloudRecognizeType

if __name__ == '__main__':
    config = {
        'host':'--------------',
        'access_key':'--------------',
        'access_secret':'--------------',
        'recognize_type': ACRCloudRecognizeType.ACR_OPT_REC_AUDIO, # you can replace it with [ACR_OPT_REC_AUDIO,ACR_OPT_REC_HUMMING,ACR_OPT_REC_BOTH], The SDK decide which type fingerprint to create accordings to "recognize_type".
        'debug':False,
        'timeout':10 # seconds
    }

    '''This module can recognize ACRCloud by most of audio/video file. 
        Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
        Video: mp4, mkv, wmv, flv, ts, avi ...'''
    re = ACRCloudRecognizer(config)

    #recognize by file path, and skip 0 seconds from from the beginning of sys.argv[1].
    print re.recognize_by_file(sys.argv[1], 0, 10)

    buf = open(sys.argv[1], 'rb').read()
    #recognize by file_audio_buffer that read from file path, and skip 0 seconds from from the beginning of sys.argv[1].
    print re.recognize_by_filebuffer(buf, 0, 10

除了主机、访问密钥或访问密码之外,没有其他内容被更改,我在这里删除了它们。接下来,我尝试运行以下命令:

代码语言:javascript
复制
sudo python test.py test.mp3

这应该会返回歌曲,因为我的目录包含这两个文件。ls -la返回以下内容:

代码语言:javascript
复制
drwxrwxrwx 6 pi   pi       4096 Mar  9 15:26 .
drwxr-xr-x 3 pi   pi       4096 Feb 15 08:36 ..
drwxrwxrwx 2 pi   pi       4096 Mar  9 01:08 acrcloud
drwxr-xr-x 4 root root     4096 Mar  9 00:46 build
drwxr-xr-x 2 root root     4096 Mar  9 00:46 dist
drwxr-xr-x 2 root root     4096 Mar  9 00:46 pyacrcloud.egg-info
-rw-r--r-- 1 pi   pi        570 Feb 15 08:36 setup.py
-rw-r--r-- 1 pi   pi   10724969 Mar  9 01:07 test.mp3
-rw-r--r-- 1 pi   pi       1291 Mar  9 01:05 test.py
-rw-r--r-- 1 pi   pi      12288 Mar  9 00:54 .test.py.swp

但是,当我运行上面的命令时,我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    from acrcloud.recognizer import ACRCloudRecognizer
  File "/home/pi/Downloads/ACRCloud/raspberrypi/python2.7/acrcloud/recognizer.py", line 21, in <module>
    import acrcloud_extr_tool
ImportError: /home/pi/Downloads/ACRCloud/raspberrypi/python2.7/acrcloud/acrcloud_extr_tool.so: cannot open shared object file: No such file or directory

我已经进行了检查,以确保共享目标文件就在它所说的位置。在python2.7/acrcloud目录中执行ls -la会得到以下结果:

代码语言:javascript
复制
drwxrwxrwx 2 pi   pi       4096 Mar  9 01:08 .
drwxrwxrwx 6 pi   pi       4096 Mar  9 15:26 ..
-rwxr-xr-x 1 pi   pi   11270324 Feb 15 08:36 acrcloud_extr_tool.so
-rw-r--r-- 1 pi   pi        182 Feb 15 08:36 __init__.py
-rw-r--r-- 1 root root      157 Mar  9 01:08 __init__.pyc
-rwxr-xr-x 1 pi   pi      10990 Feb 15 08:36 recognizer.py
-rw-r--r-- 1 root root     8693 Mar  9 01:08 recognizer.pyc

所以很明显,我已经拥有了所有的东西,这不是一个特权问题。不完全确定我该做什么。

对于这篇冗长的帖子,我很抱歉,只是想彻底了解一下。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-03-11 10:32:22

你使用的树莓派是什么系统?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49197330

复制
相关文章

相似问题

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