gpt4 book ai didi

python-sphinx - 狮身人面像 : how to exclude imports in automodule?

转载 作者:行者123 更新时间:2023-12-03 02:02:25 25 4
gpt4 key购买 nike

我有一个用 Python 编写的 Raspberry Pi 项目,它使用 RPi.GPIO 模块。代码上的所有工作都是在 Windows 机器上完成的,其中 RPi.GPIO 不会安装,每次我尝试运行 autodoc 时,它都会崩溃,说它无法导入 RPi.GPIO。

D:\cube\docs\ledcube.rst:4: WARNING: autodoc: failed to import module u'ledcube'
; the following exception was raised:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\sphinx-1.2b1-py2.7.egg\sphinx\ext\autodoc.
py", line 326, in import_object
__import__(self.modname)
File "D:\cube\ledcube.py", line 2, in <module>
import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO

有办法解决这个问题吗?

最佳答案

无法告诉 Sphinx 排除某些导入。使用 autodoc 时,所有记录的模块都必须可以完全导入。

您也许可以通过执行一些操作来解决该问题mocking 。这是一篇文章,描述了与您的问题非常相似的问题的解决方案:http://blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when-youre-using-numpy-and-scipy/ 。这是一个小代码示例(旨在添加到conf.py):

import mock

MOCK_MODULES = ['numpy', 'matplotlib', 'matplotlib.pyplot']
for mod_name in MOCK_MODULES:
sys.modules[mod_name] = mock.Mock()

您可能需要安装 python-mock 才能使上述功能正常工作:sudo apt-get install python-mock

更新

从 Sphinx 1.3 开始,设置模拟变得更加容易。只需将要模拟的模块添加到 autodoc_mock_imports配置值。

关于python-sphinx - 狮身人面像 : how to exclude imports in automodule?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15889621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com