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

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

新規登録して質問してみよう
ただいま回答率
85.50%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

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

Python

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

Q&A

解決済

2回答

2851閲覧

python importが通らない

mmeoo

総合スコア8

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

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

Python

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

0グッド

0クリップ

投稿2018/02/14 15:01

前提・実現したいこと

現在raspberry Piで音声認識をするために下記のプログラムを一部変更していろいろ試しています。
https://raw.githubusercontent.com/neuralassly/raspi/master/recog-TV.py

pythonはまだ初心者にも至らぬほどの技量なのですが,どなたかご教授お願いします。

発生している問題・エラーメッセージ

発生している問題はimport pyaudioの部分でpyaudioが認識されないことです。

エラーメッセージ

Traceback

1 File "/home/pi/recog-TV.py", line 6, in <module> 2 import pyaudio 3ImportError: No module named 'pyaudio' 4 5### 該当のソースコード 6 7python 8ソースコード 9 10import socket 11from io import StringIO 12import re 13import subprocess 14import pyaudio 15import wave 16 17CHUNK = 1024 18FORMAT = pyaudio.paInt16 19channels = 1 20 21rate = 44199 22 23p = pyaudio.PyAudio() 24 25 26try: 27 unicode # python2 28 def u(str): return str.decode('utf-8') 29 pass 30except: # python3 31 def u(str): return str 32 pass 33 34host = 'localhost' 35port = 10500 36bufsize = 1024 37 38buff = StringIO(u('')) 39pattern = r'WHYPO WORD=\"(.*)\" CLASSID' 40try: 41 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 42 sock.connect((host, port)) 43 while True: 44 data = sock.recv(bufsize) 45 buff.write(data.decode('utf-8')) 46 data = buff.getvalue().replace('> ', '>\n ') 47 if '\n' in data: 48 lines = data.splitlines() 49 for i in range(len(lines)-1): 50 if lines[i] != '.': 51 m = re.search(pattern, lines[i]) 52 if m: 53 word = m.group(1) 54 55 if u('今日 天気') in word: 56 print(word) 57 58 elif u('明日 天気') in word: 59 print(word) 60 61 buff.close() 62 buff = StringIO(u('')) 63 if lines[len(lines)-1] != '.': 64 buff.write(lines[len(lines)-1]) 65 66except socket.error: 67 print('socket error') 68except KeyboardInterrupt: 69 pass 70 71sock.close() 72 73 74 75### 試したこと 76 77https://web.plus-idea.net/2017/05/python-import-error-no-module-name/ 78上記のサイトを参考にインストールされているかの確認,ソースの最初に明示的に追加などしてみましたが何も変わりません。ちなみに以下がpipで調べた際の情報。 79 80pi@raspberrypi:~ $ pip show pyaudio 81Name: PyAudio 82Version: 0.2.11 83Summary: PortAudio Python Bindings 84Home-page: http://people.csail.mit.edu/hubert/pyaudio/ 85Author: Hubert Pham 86Author-email: UNKNOWN 87License: UNKNOWN 88Location: /usr/lib/python2.7/dist-packages 89Requires:

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

python2.7にpyaudioが入っているにもかかわらずpython3で実行していた。

投稿2018/02/15 07:02

mmeoo

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

関係あるかはっきりしませんが、ラズパイへのPyAudioのインストールはapt-getからやっておかないとコケた気がします。

情報が古いですが、下記を参照にインストール試して見てください。

https://www.raspberrypi.org/forums/viewtopic.php?t=25173

投稿2018/02/14 15:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mmeoo

2018/02/15 06:32

apt-getでダウンロードしたのですが変化なしです。
退会済みユーザー

退会済みユーザー

2018/02/15 06:53

実行時のコマンドは```python xxx.py```ですか?もしそうなら、python --versionの情報をください。ラズパイにはもともとpython2.7とpython3.xが入っています。もしpython2.7用にインストールして、実行はpython3としてしまうとmoduleが見つからない可能性があります。
mmeoo

2018/02/15 07:01

返信ありがとうございます。実行時ラズパイに入っているthonnyというものを使っていたのですがおそらくこれはpython3のものを参照しているのでしょう。ターミナルからpython recog-TV.pyで実行したところ機能しました。 どうもありがとうございました
退会済みユーザー

退会済みユーザー

2018/02/15 07:05

よかったです。ターミナルでpythonと打てばpython2.x, python3と打てばpython3.xが呼ばれますね。同様の違いはaptgetを使う場合のパッケージの名前にも表れます。sudo apt-get install python3-numpyなど。ご参考までに。
mmeoo

2018/02/16 05:19

ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問