gpt4 book ai didi

django - ImportError:没有以我在 Readthedocs 上的代码命名的模块

转载 作者:行者123 更新时间:2023-12-04 14:31:07 24 4
gpt4 key购买 nike

我正在尝试将我的 Sphinx 文档与 ReadtheDocs 链接起来。我可以在本地构建文档,但是当我尝试让 ReadtheDocs 自动生成文档时,我收到以下错误:
狮身人面像标准错误

Making output directory...

Exception occurred:
File "/var/build/user_builds/mousedb/checkouts/latest/Docs/source/conf.py", line 25, in <module>
from mousedb import settings
ImportError: No module named mousedb
The full traceback has been saved in /tmp/sphinx-err-n_8fkR.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
Either send bugs to the mailing list at <http://groups.google.com/group/sphinx-dev/>,
or report them in the tracker at <http://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
我的项目名称是 mousedb。我不明白为什么我在自动构建中收到此导入错误,但在本地却没有。
更新
根据评论,我认为这是将我的设置文件导入同级文件的问题 Docs目录。我应该根据 settings.py 的位置进行相对导入,而不是进行绝对导入(就像我一直在做的那样)和 conf.py .
我想将我的设置文件导入我的 conf.py具有以下目录结构:
-mousedb
--settings.py
-Docs
--source
---conf.py
--build

最佳答案

您最初谈到“我的代码的本地绝对路径”,现在谈到设置代码的相对路径。这可能意味着您没有使用 setup.py文件,也不是 virtualenv。

在与 Docs/ 相同的目录下和 mousedb/ , 添加 setup.py :

from setuptools import setup

setup(name='mousedb',
version='0.1',
description="My sample package",
long_description="",
author='TODO',
author_email='todo@example.org',
license='TODO',
packages=['mousedb'],
zip_safe=False,
install_requires=[
'Django',
# 'Sphinx',
# ^^^ Not sure if this is needed on readthedocs.org
# 'something else?',
],
)

在提交/推送/无论这个文件之后,您可以转到您的项目的 readthedocs 设置。启用“使用 virtualenv”设置。这将“使用 setup.py install 在 vi​​rtualenv 中安装您的项目”。

最终结果是 readthedocs 所做的所有与 python 相关的事情都会在它的 sys.path 中包含您的项目。 .

问题的可能原因是您从本地系统的“根”目录中运行 sphinx,python 神奇地找到了 mousedb/。打包到当前目录。但是 readthedocs 显然是从 Docs/ 中运行的。目录,因此找不到 mousedb .

关于django - ImportError:没有以我在 Readthedocs 上的代码命名的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372068/

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