python: импорт libpci вызывает синтаксическую ошибку

#python #python-2.7

#python #python-2.7

Вопрос:

Я только что установил libpci на свой компьютер:

 $ pip2.7 install libpci
 

И попытался запустить это:

 #!/usr/local/bin/python2.7
import libpci

print('hello libpci')
 

но при этом возникает следующая синтаксическая ошибка:

 Traceback (most recent call last):
  File "./test.py", line 2, in <module>
    import libpci
  File "/usr/local/lib/python2.7/site-packages/libpci/__init__.py", line 26, in <module>
    from libpci.wrapper import LibPCI
  File "/usr/local/lib/python2.7/site-packages/libpci/wrapper.py", line 26, in <module>
    from libpci._functions import pci_alloc
  File "/usr/local/lib/python2.7/site-packages/libpci/_functions.py", line 39
    def pci_alloc() -> ctypes.POINTER(pci_access):
                    ^
SyntaxError: invalid syntax
 

Как возможно вызвать синтаксическую ошибку в libpci?
Это потому, что мне не хватает некоторых зависимостей?

Ответ №1:

Для libpci проекта требуется Python 3.4 или новее. Из тегов проекта:

 Categories
[...]
Programming Language :: Python :: 3
Programming Language :: Python :: 3.4
 

Синтаксическая ошибка возникает из-за того, что проект использует аннотации, функцию Python 3, для настройки ctypes слоя, см. _ctypes_metadata() Функцию .