ImportError:无法导入名称Pubnub

Jen*_*ins 2 python raspberry-pi pubnub iot raspberry-pi2

我试图用Pubnub平台控制我的Raspberry Pi上的LED.我刚开始,我尝试了这个教程:

https://www.pubnub.com/blog/2015-05-27-internet-of-things-101-getting-started-w-raspberry-pi/

但是,当我想执行一个使用以下行导入Pubnub库的Python文件时:

from pubnub import Pubnub

我收到此错误消息:

ImportError: cannot import name Pubnub

我按照教程中的说法完成了所有工作.我甚至从他们的Github存储库中复制了.py类.

这是我的班级:

import RPi.GPIO as GPIO
import time
import sys
from pubnub import Pubnub

GPIO.setmode (GPIO.BCM)

LED_PIN = 17

GPIO.setup(LED_PIN,GPIO.OUT)

pubnub = Pubnub(publish_key='xxxx', subscribe_key='xxxx')

channel = 'disco'

def _callback(m, channel):
        print(m)
        if m['led'] == 1:
                for i in range(6):
                    GPIO.output(LED_PIN,True)
                    time.sleep(0.5)
                    GPIO.output(LED_PIN,False)
                    time.sleep(0.5)
                    print('blink')

def _error(m):
        print(m)

pubnub.subscribe(channels=channel, callback=_callback, error=_error)
Run Code Online (Sandbox Code Playgroud)

小智 8

如果您从2016年11月初开始遇到这种情况; pubnub API在4.0版中已更改.

from pubnub import Pubnub
Run Code Online (Sandbox Code Playgroud)

不起作用.它现在(据我所知):

from pubnub.pubnub import PubNub
Run Code Online (Sandbox Code Playgroud)