Google智能助理在RPi2上因打印错误而失败

时间:2017-05-08 23:18:40

标签: raspberry-pi2 python-venv google-assistant-sdk

管理以完成大部分安装,直到尝试运行示例时结束。

python -m googlesamples.assistant.auth_helpers --client-secrets /home/pi/client_secret.json

Traceback (most recent call last):
File "/usr/lib/python3.4/runpy.py", line 151, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name)
File "/usr/lib/python3.4/runpy.py", line 118, in _get_module_details
return _get_module_details(pkg_main_name)
File "/usr/lib/python3.4/runpy.py", line 104, in _get_module_details
spec = importlib.util.find_spec(mod_name)
File "/usr/lib/python3.4/importlib/util.py", line 86, in find_spec
parent = __import__(parent_name, fromlist=['__path__'])
File "/home/pi/google/lib/python3.4/site-packages/googlesamples/assistant/auth_helpers/__init__.py", line 21, in <module>
import google.auth.transport.grpc
File "/home/pi/google/lib/python3.4/site-packages/google/auth/transport/grpc.py", line 20, in <module>
import grpc
File "/home/pi/google/lib/python3.4/site-packages/grpc/__init__.py", line 37, in <module>
from grpc._cython import cygrpc as _cygrpc
File "src/python/grpcio/grpc/_cython/cygrpc.pyx", line 32, in init grpc._cython.cygrpc (src/python/grpcio/grpc/_cython/cygrpc.c:28305)
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3036, in <module>
@_call_aside
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3020, in _call_aside
f(*args, **kwargs)
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3064, in _initialize_master_working_set
for dist in working_set
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3064, in <genexpr>
for dist in working_set
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2594, in activate
declare_namespace(pkg)
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2162, in declare_namespace
_handle_ns(packageName, path_item)
File "/home/pi/google/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2097, in _handle_ns
loader.load_module(packageName)
File "./google.py", line 42
print head,body,tail

SyntaxError: Missing parentheses in call to 'print'

看到一个人example,其中一些人已经开始工作但是我不清楚他们是否使用了python2或3 venv?有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

看起来您在同一目录中有一个名为@Test public void testRetry() throws IOException { server.stubFor(get(urlPathEqualTo(RANDOM_JOKE_URI)) .inScenario("Feign retry") .whenScenarioStateIs(STARTED) .willReturn(badRequest()) .willSetStateTo("1")); server.stubFor(get(urlPathEqualTo(RANDOM_JOKE_URI)) .inScenario("Feign retry") .whenScenarioStateIs("1") .willReturn(badRequest()) .willSetStateTo("2")); server.stubFor(get(urlPathEqualTo(RANDOM_JOKE_URI)) .inScenario("Feign retry") .whenScenarioStateIs("2") .willReturn(ok() .withHeader("Content-Type", "application/json") .withBody(copyToByteArray(getClass().getResourceAsStream("/joke.json"))))); TestSubscriber<JokeServiceResponse> subscriber = new TestSubscriber<>(); TestScheduler scheduler = new TestScheduler(); // GOTCHA ALERT: must use defer for the Observable to be reevaluated Observable.defer(() -> client.tellAJoke() .toObservable()) .retryWhen(errors -> onErrorTryAgain(errors, scheduler)) .subscribe(subscriber); scheduler.advanceTimeBy(2, TimeUnit.SECONDS); subscriber.assertNoValues(); scheduler.advanceTimeBy(4, TimeUnit.SECONDS); subscriber.assertNoValues(); subscriber.awaitTerminalEvent(10, TimeUnit.SECONDS); subscriber.assertNoErrors(); assertThat(subscriber.getOnNextEvents()) .hasSize(1) .is(new Condition<JokeServiceResponse>() { @Override public boolean matches(JokeServiceResponse response) { assertResponse(response); return true; } }, atIndex(0)); } private Observable<?> onErrorTryAgain(Observable<? extends Throwable> errors, Scheduler scheduler) { return errors .zipWith(Observable.range(1, 5), (t, i) -> new SimpleImmutableEntry<Integer, Throwable>(i, t)) .flatMap(e -> { // Can inspect Throwable here and decide whether to retry or return Observable.error return Observable.timer((long) Math.pow(2, e.getKey()), TimeUnit.SECONDS, scheduler); }); } 的文件与google.py python namespace packages冲突。

答案 1 :(得分:0)

请参阅评论中的@proppy回复。会早点关闭,但我只收到答案的通知,但没有收到评论???