teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

2020/10/11 10:14

投稿

uuu1010
uuu1010

スコア7

title CHANGED
File without changes
body CHANGED
@@ -5,18 +5,32 @@
5
5
 
6
6
  python3で実行した際に以下のエラーメッセージが出ます。
7
7
 
8
+ ```
9
+
8
- > from smbus2 import SMBus
10
+ from smbus2 import SMBus
9
11
  ModuleNotFoundError: No module named ‘smbus2’
12
+
13
+ ```
10
14
 
11
15
  smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
12
16
  ※インストール時のコマンドは次の通りです。
13
- > sodo pip install smbus2
14
17
 
18
+ ```
19
+
20
+ sudo pip install smbus2
21
+
22
+ ```
23
+
15
24
  ラズパイ内にインストールされてるか格納先も確認済です。
16
25
  ※格納先の確認コマンドと返答内容は次の通りです。
26
+
27
+ ```
28
+
17
- >pip show smbus2
29
+ pip show smbus2
18
30
  Location: /user/local/lib/python2.7/dist-packages
19
31
 
32
+ ```
33
+
20
34
  しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
21
35
 
22
36
  どなたか早急に教えてくださると助かります。
@@ -27,7 +41,9 @@
27
41
  こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
28
42
  具体的に追加したコードは大きく分けて次の2つのまとまったコードです。
29
43
 
44
+ ```
45
+
30
- > import RPi.GPIO as GPIO
46
+ import RPi.GPIO as GPIO
31
47
  interrupted = False
32
48
  GPIO.setwarnings(False)
33
49
 
@@ -41,7 +57,11 @@
41
57
  pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False,
42
58
  pixel_order=ORDER)
43
59
 
60
+ ```
61
+
62
+ ```
63
+
44
- > setup()
64
+ setup()
45
65
  get_calib_param()
46
66
 
47
67
  if __name__ == '__main__':
@@ -69,13 +89,20 @@
69
89
  pixels.fill((0, 0, 0))
70
90
  pixels.show()
71
91
 
92
+ ```
93
+
94
+
72
95
  ★暫定解決方法(根本解決せず)★
73
- from smbus2 import SMBusを
74
- from smbus import SMBusに変更すると、この部分のコードのエラーは無くなりましたが、代わりに別のコードにエラーが出ました
96
+ 解決方法をご教示いただき、pip3でsmbus2をインストールし直すと"from smbus2 import SMBus"の部分のコードのエラーは無くなりました。
97
+ しかし、代わりに別のコードにエラーが出ました。
75
98
 
99
+ ```
100
+
76
- >temp, press, hum = readData()
101
+ temp, press, hum = readData()
77
102
  TypeError: cannot unpack non-iterable NoneType object
78
103
 
79
- このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、そもそもsmbusに変更したことによる弊害なのかもと思い、この方法を解決方法とするのは危ういのかもしれないと考えてます。
104
+ ```
80
105
 
106
+
107
+
81
- (smbus2から2を消しただけ。どサイトでそに修正たのを見つけたため試しに実施)
108
+ このエラー内容は変数定義がないと言意味と解釈たが、何故定義されてないことなるか分からず困っており、根本解決に至っていない状況です。

3

2020/10/11 10:14

投稿

uuu1010
uuu1010

スコア7

title CHANGED
File without changes
body CHANGED
@@ -9,14 +9,73 @@
9
9
  ModuleNotFoundError: No module named ‘smbus2’
10
10
 
11
11
  smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
12
+ ※インストール時のコマンドは次の通りです。
13
+ > sodo pip install smbus2
12
14
 
13
15
  ラズパイ内にインストールされてるか格納先も確認済です。
16
+ ※格納先の確認コマンドと返答内容は次の通りです。
17
+ >pip show smbus2
18
+ Location: /user/local/lib/python2.7/dist-packages
14
19
 
15
20
  しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
16
21
 
17
22
  どなたか早急に教えてくださると助かります。
18
23
 
19
- なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
24
+ なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
20
25
  [リンク内容](https://deviceplus.jp/hobby/raspberrypi4_04/)
21
26
 
22
- こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
27
+ こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
28
+ 具体的に追加したコードは大きく分けて次の2つのまとまったコードです。
29
+
30
+ > import RPi.GPIO as GPIO
31
+ interrupted = False
32
+ GPIO.setwarnings(False)
33
+
34
+ import time
35
+ import board
36
+ import neopixel
37
+
38
+ pixel_pin = board.D18
39
+ num_pixels = 16
40
+ ORDER = neopixel.GRB
41
+ pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False,
42
+ pixel_order=ORDER)
43
+
44
+ > setup()
45
+ get_calib_param()
46
+
47
+ if __name__ == '__main__':
48
+ try:
49
+ temp, press, hum = readData()
50
+ except KeyboardInterrupt:
51
+ pass
52
+ if temp:
53
+ msg = "今の室温は、" + str(round(temp,1)) + "度、湿度は、" + str(round(hum,1)) + "パーセントです!"
54
+ if temp > 25:
55
+ msg += "暑くないですか?"
56
+ pixels.fill((255, 0, 0))
57
+ elif temp < 15:
58
+ msg += "寒いですね!"
59
+ pixels.fill((0, 0, 255))
60
+ elif hum > 70:
61
+ msg += "蒸し蒸ししますね"
62
+ pixels.fill((255, 0, 0))
63
+ else:
64
+ msg += "快適です!"
65
+ pixels.fill((0, 255, 0))
66
+ pixels.show()
67
+ print (msg)
68
+ time.sleep(3)
69
+ pixels.fill((0, 0, 0))
70
+ pixels.show()
71
+
72
+ ★暫定解決方法(根本解決せず)★
73
+ from smbus2 import SMBusを
74
+ from smbus import SMBusに変更すると、この部分のコードのエラーは無くなりましたが、代わりに別のコードにエラーが出ました。
75
+
76
+ >temp, press, hum = readData()
77
+ TypeError: cannot unpack non-iterable NoneType object
78
+
79
+ このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、そもそもsmbusに変更したことによる弊害なのかもと思い、この方法を解決方法とするのは危ういのかもしれないと考えてます。
80
+
81
+ (smbus2から2を消しただけ。どこかのサイトでそのように修正したのを見つけたため試しに実施)

2

2020/10/11 08:54

投稿

uuu1010
uuu1010

スコア7

title CHANGED
File without changes
body CHANGED
File without changes

1

2020/10/11 07:32

投稿

uuu1010
uuu1010

スコア7

title CHANGED
@@ -1,1 +1,1 @@
1
- smbus2インストール済なのにエラーが出ます
1
+ Raspberry Pi 4 で"from smbus2 import SMBus"のコードにエラー発生。(smbus2インストール済)
body CHANGED
@@ -1,25 +1,22 @@
1
- ### 前提・実現したいこと
1
+ Raspberry pi 4 で温湿度センサーを付けて、気温湿度に合わせてLEDを点灯させたいです。
2
2
 
3
- ここ質問の内容を詳く書いてください
3
+ Raspberry Pi 4インストールたOSはMac用のRaspbian です
4
- (例)PHP(CakePHP)で●●なシステムってます。
4
+ センサーはBME280、LEDはNeo Pixel 16連リング使用、通信はi2cを使ってます。
5
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
6
5
 
7
- ### 発生ている問題・エラーメッセージ
6
+ python3で実行た際に以下のエラーメッセージが出ます。
8
7
 
9
- ```
10
- エラーメッセージ
8
+ > from smbus2 import SMBus
11
- ```
9
+ ModuleNotFoundError: No module named ‘smbus2’
10
+
11
+ smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
12
12
 
13
- ### 該当のソー
13
+ ラズパイ内にインルされてるか格納先も確認済です。
14
14
 
15
+ しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
16
+
15
- ```ここ言語名を入力
17
+ どなたか早急教えてくださると助かります。
18
+
16
- ソースコード
19
+ なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
17
- ```
20
+ [リンク内容](https://deviceplus.jp/hobby/raspberrypi4_04/)
18
21
 
19
- ### 試したこと
20
-
21
- 問題に対て試した記載てください
22
+ ちらのサイトの指示従い、サンプルプログラムをコピー(動作確認済)、そにコード追加、最後にpython3で実行する流れです
22
-
23
- ### 補足情報(FW/ツールのバージョンなど)
24
-
25
- ここにより詳細な情報を記載してください。