Sphinx 找不到我的 python 文件。说“没有名为...的模块”

2023-12-08

我有一个关于 Sphinx 自动文档生成的问题。我觉得我想做的事情应该很简单,但由于某种原因,它不起作用。

我有一个Python项目,其目录名为slotting_tool。该目录位于C:\Users\Sam\Desktop\picnic-data-shared-tools\standalone\slotting_tool

我使用设置 Sphinxsphinx-quickstart。那么我的目录结构(简化)如下:

slotting_tool/
|_ build/
|_ source/
|___ conf.py
|___ index.rst
|_ main/
|___ run_me.py

现在,我将项目的根目录设置为slotting_tool通过将以下内容添加到conf.py file.

import os
import sys
sys.path.insert(0, os.path.abspath('..'))

接下来我更新一下我的index.rst文件看起来像这样:

.. toctree::
   :maxdepth: 2
   :caption: Contents:

.. automodule:: main.run_me
   :members:

当尝试使用以下命令构建我的 html 时sphinx-build -b html source .\build命令,我得到以下输出,其中no module named error:

(base) C:\Users\Sam\Desktop\picnic-data-shared-tools\standalone\slotting_tool>sphinx-build -b html source .\build
Running Sphinx v1.8.1
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: [] 0 added, 1 changed, 0 removed
reading sources... [100%] index
WARNING: autodoc: failed to import module 'run_me' from module 'main'; the following exception was raised:
No module named 'standalone'
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index
generating indices... genindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 1 warning.

The HTML pages are in build.

没有 HTML 页面引用run_me.py在构建中。我尝试将根目录设置为所有不同类型的目录,并且尝试替换所有点.带反斜杠\等等,但似乎无法找出我做错了什么。

顺便说一句,声明standalone不是一个模块实际上是这样,它只是一个没有模块的目录__init__.py。不知道这样会不会造成一些麻烦呢?

有人有主意吗?


这是适用于“入门”的通常“规范方法”当您的源代码位于src目录如Project/src而不是简单地呆在里面Project基本目录。

遵循以下步骤:

  1. 创建一个docs目录在你的Project目录(来自这个docs目录中执行以下步骤中的命令)。

  2. sphinx-quickstart(选择单独的source from build。地点.html and .rst文件在不同的文件夹中)。

  3. sphinx-apidoc -o ./source ../src

  4. make html

这将产生以下结构(假设你.py源文件驻留在Project/src):

Project
|
├───docs
│   │   make.bat
│   │   Makefile
│   │
│   ├───build
│   └───source
│       │   conf.py
│       │   index.rst
│       │   modules.rst
│       │   stack.rst
│       │
│       ├───_static
│       └───_templates
└───src
        stack.py

In your conf.py您可以添加(在第 2 步之后):

import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join('..', '..', 'src')))

还包括在conf.py:

extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon']

And in index.rst你会链接modules.rst:

Welcome to Project's documentation!
================================

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   modules
      
   
Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Your stack.rst and modules.rst由自动生成sphinx-apidoc,无需更改它们(此时)。但只是为了让你知道它们是这样的:

stack.rst:

stack module
============

.. automodule:: stack
   :members:
   :undoc-members:
   :show-inheritance:

modules.rst:

src
===

.. toctree::
   :maxdepth: 4

   stack


After `make html` open `Project/docs/build/index.html` in your browser, the results:

enter image description here

and:

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sphinx 找不到我的 python 文件。说“没有名为...的模块” 的相关文章

随机推荐

  • 主键和外键

    我有3张桌子 Student Loan Book StudentID LoanID BookID 我需要设置哪些外键 以便在给出学生姓名时 搜索该学生的所有贷款并显示书籍详细信息 这是从如此模糊的要求开始的 CREATE TABLE dbo
  • 如何处理用户离开对话

    我们有使用 OnMembersAddedAsync 方法的欢迎示例 但没有示例显示如何处理用户离开对话 我尝试覆盖 OnMembersRemovedAsync 但它似乎没有被调用 至少当我使用机器人框架模拟器时 我需要在用户离开 离开对话时
  • Holoviews 相关热图和回归图的点击流

    我想为 DataFrame 制作一个相关热图 并为每对变量制作一个回归图 我已尝试阅读所有文档 但仍然很难连接两个图 以便当我点击热图时 可以显示相应的回归图 这是一些示例代码 import holoviews as hv from hol
  • Javascript Promise 中的resolve和reject实际上做了什么

    起初 我认为resolve只需将参数传递给函数即可then 所以我尝试了这个 const promise new Promise resolve reject gt resolve new Promise resolve gt resolv
  • Jython:如何使用文件“jython-2.7-b1.jar”

    我是 Jython 新手 我从这里下载了一个jar文件http www jython org downloads html 下载 Jython 2 7beta1 jython jar 安装程序 不带捆绑 python 文件的独立版本 当我运
  • 在 C++ 中集成 swf

    有没有办法制作包含 swf 的 C GUI 应用程序 swf 文件非常小 并且比 gif 或其他类型的动画更容易制作 因此如果能够包含它们就太好了 一些图书馆的推荐 免费甚至开源 您可以在应用程序中托管 Flash 播放器本身 您只需实现您
  • linux下如何合并相似的行

    我的 Linux 系统上有一个文件 test txt 其中包含以下格式的数据 first second third fourth 10 first second third fourth 20 fifth sixth seventh eig
  • Python Tkinter 中的图像问题

    我一直在尝试将图像包含在我的 Tkinter 小部件中 但似乎没有任何效果 这是我的代码 from Tkinter import from PIL import Image root Tk image Image open images m
  • 如何在Python中将字符串转换为列表?

    l Hello my name is Apple l1 Hello my name is Apple type l 回报str但我希望它是一个列表 如l1 is 如何将该字符串转换为通用列表 the ast模块有一个literal eval
  • 循环未完成保存 pdf [重复]

    这个问题在这里已经有答案了 我正在写一个循环 循环的目的是创建许多图并将它们保存为PDF 选择数据的子集后 我执行以下操作 pdf path to the desired filename width 16 height 7 some gg
  • Swift 默认 AlertViewController 打破约束

    我正在尝试使用带有样式的默认 AlertViewController actionSheet 由于某种原因 警报会导致约束误差 只要alertController不是通过按钮触发 显示 整个视图就不存在约束错误 难道这是一个Xcode 的错
  • 如何逐行分析 cython 函数

    我经常努力寻找自己的瓶颈cython代码 我怎样才能了解个人资料cython逐行函数 罗伯特 布拉德肖 Robert Bradshaw 帮助我获得了罗伯特 科恩 Robert Kern 的line profiler工具工作于cdef函数 我
  • sendWakefulWork 并不总是用 cwac-wakeful-1.1.0 调用

    我有一个问题困扰了很长时间 我发现了 CWAC wakeful 它可以解决我所有的问题 我想 简而言之 为了解决这个问题 我实现了一个最简单的应用程序 它每 60 秒安排一次警报并每次记录一次 这是我的代码 主要活动 package com
  • neo4j 中的搜索查询:如何使用内部 TFIDF / levenshtein 或其他算法对 START 查询中的 neo4j 中的结果进行排序?

    我正在使用维基百科主题名称为我的全文索引实验开发一个模型 我在 主题 旧版 上设置和索引 并对以下内容进行全文搜索 united states start n node topic name united states return n 第
  • 流星 0.9.1 ,Mongo 未在我的自定义包中定义

    获取异常 Mongo 未在我的自定义包中定义 CODE ABC new Mongo Collection ABC ERROR W20140905 17 49 06 809 5 5 STDERR home sandeep meteor pac
  • 在 cakePHP 中将样式表包含在 PDF 中

    我在用dompdf为某些视图生成 PDF 效果很好 问题是我无法在任何地方包含 css 文件 并且仅包含在
  • 使用 (gtsummary) tbl_svysummaary 函数显示 Survey.design 对象的置信区间?

    我正在使用 tbl svysummary 函数从 survey 包创建的 Survey design 对象生成汇总统计表 使用 add stat 函数的方式 但是 我在尝试使用 add stat 函数时遇到错误 ci lt function
  • 停止 Firefox 以 rgb() 形式渲染内联颜色

    我正在尝试编写一个 JavaScript 工具来处理特定颜色的项目 在测试页面上 我使用内联样式设置颜色 以模仿目标页面 但渲染页面时 使用 CSS rgb 函数指定颜色 HTML 尝试模拟我想要更改背景颜色的 GMail 容器 当我在 F
  • Sphinx 的斯洛文尼亚词干分析器

    我正在搜索斯洛文尼亚语的词干算法 我可以将其与 Sphinx 搜索一起使用 我想要实现的目标是 例如 在搜索 jabolka 时 我还想要包含 jabolko jabolki jabolk 等文档的结果 我找到了一些关于斯洛文尼亚词干分析器
  • Sphinx 找不到我的 python 文件。说“没有名为...的模块”

    我有一个关于 Sphinx 自动文档生成的问题 我觉得我想做的事情应该很简单 但由于某种原因 它不起作用 我有一个Python项目 其目录名为slotting tool 该目录位于C Users Sam Desktop picnic dat