2016-04-09 11 views
1

pythonの新機能https://docs.python.org/3/library/asyncio-task.htmlから次のサンプル・プログラムを実行しようとしたが、ここでエラーコルーチンを含むpythonスニペットを実行中にエラーが発生しました

$ python coro.py 
    File "coro.py", line 3 
    async def compute(x, y): 
      ^
SyntaxError: invalid syntax 

を得た私はUbuntuの14.04でのpython 2.7.6を実行していますcoro.py

import asyncio 

async def compute(x, y): 
    print("Compute %s + %s ..." % (x, y)) 
    await asyncio.sleep(1.0) 
    return x + y 

async def print_sum(x, y): 
    result = await compute(x, y) 
    print("%s + %s = %s" % (x, y, result)) 

loop = asyncio.get_event_loop() 
loop.run_until_complete(print_sum(1, 2)) 
loop.close() 

のコードスニペットです。私はasyncio、私は、(以前のコードスニペットには影響しませんでした)それをインストールしようとした面白い結果を得ていない、私は本当にそれが

# pip install asyncio 
Downloading/unpacking asyncio 
    Downloading asyncio-3.4.3.tar.gz (204kB): 204kB downloaded 
    Running setup.py (path:/tmp/pip_build_root/asyncio/setup.py) egg_info for package asyncio 

Installing collected packages: asyncio 
    Running setup.py install for asyncio 
     File "/usr/local/lib/python2.7/dist-packages/asyncio/windows_utils.py", line 83 
     def pipe(*, duplex=False, overlapped=(True, True), bufsize=BUFSIZE): 
       ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/windows_events.py", line 45 
     def __init__(self, ov, *, loop=None): 
           ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/futures.py", line 143 
     def __init__(self, *, loop=None): 
          ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/streams.py", line 39 
     def open_connection(host=None, port=None, *, 
               ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/base_subprocess.py", line 151 
     _, pipe = yield from loop.connect_write_pipe(
         ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/events.py", line 282 
     def getaddrinfo(self, host, port, *, family=0, type=0, proto=0, flags=0): 
             ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/coroutines.py", line 46 
     yield from gen 
       ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/queues.py", line 41 
     def __init__(self, maxsize=0, *, loop=None): 
            ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/base_events.py", line 177 
     yield from waiter 
       ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/subprocess.py", line 118 
     return (yield from self._transport._wait()) 
         ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/tasks.py", line 70 
     def __init__(self, coro, *, loop=None): 
           ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/test_utils.py", line 134 
     def _run_test_server(*, address, use_ssl=False, server_cls, server_ssl_cls): 
          ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/unix_events.py", line 188 
     yield from waiter 
       ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/locks.py", line 96 
     def __init__(self, *, loop=None): 
          ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/selectors.py", line 39 
     "{!r}".format(fileobj)) from None 
           ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/proactor_events.py", line 386 
     *, server_side=False, server_hostname=None, 
     ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python2.7/dist-packages/asyncio/selector_events.py", line 57 
     def _make_socket_transport(self, sock, protocol, waiter=None, *, 
                    ^
    SyntaxError: invalid syntax 


Successfully installed asyncio 
Cleaning up... 
+0

、見えます。 – isedev

答えて

3
を働いたかどうかわからないことを疑って

https://docs.python.org/3/library/asyncio-task.htmlから:

コルーチンの非同期DEFタイプは、Python 3.5

に追加されました - >あなたはPythoを使用していると言います非同期のみのPython 3に支持されているようなN 2.7、

+0

Python 2.7を使用する方法があるのだろうか? – packetie

+0

@codingFunいいえ、方法はありません。 'asyncio'は標準ライブラリの一部ですが、Python 3.4以降でのみ動作するように設計されています。 2つの方法の間には根本的な違いがありますが、Python 2.7ではその利点が得られません。しかし、バックポートしてみるのは大歓迎ですが、幸運です。 –

+0

ありがとう@ akshat-mahajan、意味があります。 – packetie

関連する問題