@IoannisFilippidis Я собирался сказать вам, что, возможно, стоит исправить ошибку, но похоже, что вы уже сделали это ...
аinspect
Кажется, модуль не может проверять сигнатуры «встроенных» функций, которые включают в себя функции, определенные в модулях расширения C, например, определенные в Cython. Есть ли способ получить сигнатуру функции Python, которую вы определили в таком модуле, и в частности в Cython? Я ищу, чтобы найти доступные аргументы ключевых слов.
MWE:
# mwe.pyx
def example(a, b=None):
pass
а также
import pyximport; pyximport.install()
import mwe
import inspect
inspect.signature(mwe.example)
выходы:
Traceback (most recent call last):
File "mwe_py.py", line 5, in <module>
inspect.signature(mwe.example)
File "/nix/store/134l79vxb91w8mhxxkj6kb5llf7dmwpm-python3-3.4.5/lib/python3.4/inspect.py", line 2063, in signature
return _signature_internal(obj)
File "/nix/store/134l79vxb91w8mhxxkj6kb5llf7dmwpm-python3-3.4.5/lib/python3.4/inspect.py", line 1965, in _signature_internal
skip_bound_arg=skip_bound_arg)
File "/nix/store/134l79vxb91w8mhxxkj6kb5llf7dmwpm-python3-3.4.5/lib/python3.4/inspect.py", line 1890, in _signature_from_builtin
raise ValueError("no signature found for builtin {!r}".format(func))
ValueError: no signature found for builtin <built-in function example>
В Python 3.4.5 и Cython 0.24.1