質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • Python

    7473questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Raspberry Pi

    760questions

    Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

  • Matplotlib

    282questions

    MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

python ImportError

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 228

YMD_kts

score 6

こちらのサイトにあるように音を録音し可視化させるプログラムを実行しようとしたのですが、以下のエラーが出てしまいました。どなたか解決法を教えていただきたいです。

** (hoge_visualize.py:3312): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
Traceback (most recent call last):
  File "hoge_visualize.py", line 5, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 10, in <module>
    from .backend_cairo import cairo, HAS_CAIRO_CFFI
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_cairo.py", line 29, in <module>
    raise ImportError("cairo backend requires that cairocffi or pycairo "
ImportError: cairo backend requires that cairocffi or pycairo is installed


動作環境は
・Raspberry Pi 3 Model B
・Python 2.7.13

コードは下記のとおりです

import numpy as np
import matplotlib.pyplot as plt

x = np.frombuffer(data, dtype="int16") / 32768.0

plt.figure(figsize=(15,3))
plt.plot(x)
plt.show()

x = np.fft.fft(np.frombuffer(data, dtype="int16"))

plt.figure(figsize=(15,3))
plt.plot(x.real[:int(len(x)/2)])
plt.show()
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

ImportError: cairo backend requires that cairocffi or pycairo is installed

から、cairocffi か pycairo pipパッケージをインストールすれば良いと思います。


追記
環境、ラズパイでしたね。。。

apt で、以下のようなパッケージ名ではいかがでしょう。
apt install python-cairo python-cairocffi python-cairo-dev

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/20 16:09

    cairocffiもpycairoもpip installしようとするとエラーが発生します...
    長いですが貼ります
    cairocffi
    pi@raspberrypi:~ $ sudo pip install cairocffi
    Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
    Collecting cairocffi
    Downloading https://files.pythonhosted.org/packages/7a/2f/78179fea3413322fd20be407897738e5569e876e7cb6e4647a79b1ffd8dd/cairocffi-0.8.1.tar.gz (79kB)
    100% |████████████████████████████████| 81kB 1.5MB/s
    Complete output from command python setup.py egg_info:
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    Package libffi was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libffi.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libffi' found
    c/_cffi_backend.c:15:17: fatal error: ffi.h: そのようなファイルやディレクトリはありません
    #include <ffi.h>
    ^
    compilation terminated.
    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-Pcr5p8/cairocffi/setup.py", line 44, in <module>
    extras_require={'xcb': ['xcffib>=0.3.2']},
    File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
    _setup_distribution = dist = klass(attrs)
    File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 317, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
    File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 372, in fetch_build_eggs
    replace_conflicting=True,
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 846, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1118, in best_match
    return self.obtain(req, installer)
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1130, in obtain
    return installer(requirement)
    File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 440, in fetch_build_egg
    return cmd.easy_install(req)
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 699, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 725, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 906, in install_eggs
    return self.build_and_install(setup_script, setup_base)
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1145, in build_and_install
    self.run_setup(setup_script, setup_base, args)
    File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1133, in run_setup
    raise DistutilsError("Setup script exited with %s" % (v.args[0],))
    distutils.errors.DistutilsError: Setup script exited with error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

    ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-Pcr5p8/cairocffi/


    pycairo
    pi@raspberrypi:~ $ sudo pip install pycairo
    Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
    Collecting pycairo
    Downloading https://files.pythonhosted.org/packages/60/47/d335364f0ca00e475a40a5a664f17691bf77b3973f999b157d56ee89e04a/pycairo-1.17.0.tar.gz (192kB)
    100% |████████████████████████████████| 194kB 2.3MB/s
    Building wheels for collected packages: pycairo
    Running setup.py bdist_wheel for pycairo ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-_NHqCi/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-NBh8bx --python-tag cp27:
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-2.7
    creating build/lib.linux-armv7l-2.7/cairo
    copying cairo/__init__.py -> build/lib.linux-armv7l-2.7/cairo
    copying cairo/__init__.pyi -> build/lib.linux-armv7l-2.7/cairo
    copying cairo/py.typed -> build/lib.linux-armv7l-2.7/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1']' returned non-zero exit status 1

    ----------------------------------------
    Failed building wheel for pycairo
    Running setup.py clean for pycairo
    Failed to build pycairo
    Installing collected packages: pycairo
    Running setup.py install for pycairo ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-_NHqCi/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-GKm7Ph/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-2.7
    creating build/lib.linux-armv7l-2.7/cairo
    copying cairo/__init__.py -> build/lib.linux-armv7l-2.7/cairo
    copying cairo/__init__.pyi -> build/lib.linux-armv7l-2.7/cairo
    copying cairo/py.typed -> build/lib.linux-armv7l-2.7/cairo
    running build_ext
    Package cairo was not found in the pkg-config search path.
    Perhaps you should add the directory containing `cairo.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'cairo' found
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1']' returned non-zero exit status 1

    ----------------------------------------
    Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-_NHqCi/pycairo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-GKm7Ph/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-_NHqCi/pycairo/

    キャンセル

  • 2018/06/25 11:03

    解決しました!有難うございました

    キャンセル

0

Matplotlibのエラーですね。
Problem with matplotlibに同様エラーの対処法があがっています。
上記はPython3.x環境での対処法であり、こちらでも未検証ですが

sudo apt install libffi-dev libffi6
pip install cairocffi
pip install cffi


で解消するかもしれません。pip install時もsudo必要だったかな?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/20 16:05

    インストールしようとすると下記の文が出てきてしまいます

    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    パッケージ libffi-dev は使用できませんが、別のパッケージから参照されます。
    これは、パッケージが欠落しているか、廃止されたか、または別のソース
    からのみ利用可能であることを意味します。

    E: パッケージ 'libffi-dev' にはインストール候補がありません

    キャンセル

  • 2018/06/20 16:09

    sudo apt updateでパッケージリスト更新してもだめでしょうか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python

    7473questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Raspberry Pi

    760questions

    Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

  • Matplotlib

    282questions

    MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。