Я пишу пакет Python, который выполняет вычисления на GPU с использованием библиотеки PyCUDA. PyCUDA необходимо инициализировать устройство GPU (обычно путем импорта pycuda.autoinit
), прежде чем можно будет импортировать любой из его подмодулей.
В свои собственные модули я импортирую любые подмодули и функции, которые мне нужны, из PyCUDA, а это означает, что мои собственные модули нельзя импортировать без предварительной инициализации PyCUDA. В основном это нормально, потому что мой пакет не делает ничего полезного без наличия графического процессора. Однако теперь я хочу написать документацию, и Sphinx Autodoc должен импортировать мой пакет для чтения строк документации. Он отлично работает, если я поставлю import pycuda.autoinit
в docs/conf.py
, но я хотел бы, чтобы документацию можно было создавать на машинах без графического процессора NVIDIA, таких как мой собственный ноутбук или readthedocs.org.
Каков самый элегантный способ отложить импорт моих зависимостей, чтобы я мог импортировать свои собственные подмодули на машины, на которых не установлены все зависимости?
.. automodule:: mymodule
с:members:
под ним? - person abarnert   schedule 26.11.2013