Невозможно использовать Python select.poll в Mac OS?

$ python Python 2.7.5 (default, Aug 25 2013, 00:04:04) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import select >>> select.poll Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'poll' 

3 Solutions collect form web for “Невозможно использовать Python select.poll в Mac OS?”

Вместо использования опроса используйте select.kqueue () в OSX. Он похож на «epoll» на Linux, поскольку вы можете более эффективно регистрировать типы событий файлового дескриптора / файловой системы, которые могут использоваться в асинхронном коде. Гораздо эффективнее опроса.

В противном случае эквивалент просто запускает блокировку select.select () внутри while True: loop с каким-то таймаутом?

Если вы хотите использовать опрос, чтобы не переписывать кучу кода для kqueue, он встроен в питон, скомпилированный из macports (macports.org). Вы просто должны указать этот экземпляр python явно (/opt/local/bin/python2.7 в моем случае), поскольку python OSX (/ usr / bin / python) по умолчанию будет раньше в пути поиска.

Интересно, что для будущих ссылок это только связано с ограниченным подмножеством версий python

 user@hostname:~/ws/engine$ python Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import select >>> select.poll() <select.poll object at 0x102415cc0> >>> exit() user@hostname:~/ws/engine$ python --version Python 2.7.9 user@hostname:~/ws/engine$ workon py_2_7_10 (py_2_7_10) user@hostname:~/ws/engine$ python Python 2.7.10 (default, Oct 23 2015, 19:19:21) [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import select >>> select.poll() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'poll' >>> ~/ws/engine$ uname -a Darwin hostname 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64 
Python - лучший язык программирования в мире.