我正在使用Sphinx autodoc功能根据我的Python库的文档字符串生成文档.
交叉引用的语法可在此处找到
标签必须位于该部分之前,以便允许从文档的其他区域引用该部分.
我所拥有的是我的一个类的.rst(ReStructeredText)文件.它用
.. autoclass:: classname
:members:
Run Code Online (Sandbox Code Playgroud)
为类生成文档.
我的问题是,如何从文档中的另一个.rst文档引用该类的自动生成方法?如果我尝试在方法的文档字符串中放置一个标签,Sphinx会抱怨.如果我尝试在方法标题之前放置一个标签,Sphinx就无法识别它.
有没有一种简单的方法可以做到这一点,或者我是否必须在我的类文件中明确地写入方法名称并在其前面添加标签?
这是一个示例[Python文档2中的参考实现我需要的东西(我假设它使用了autodoc功能,虽然我不确定)
我正在Sphinx中生成html文档.
如何修改文档中每个html页面的侧边栏,以便它们包含toctree?默认情况下,toctree似乎只显示在master_doc页面中,而且只显示在主区域而不是侧边栏中.
是否有捷径可寻?我将使用readthedocs来托管生成的文档,所以我宁愿避免使用任何第三方插件,除非它们也可以在readthedocs上使用.
使用sphinx的自动模块时(http://sphinx.pocoo.org/ext/autodoc.html#directive-automodule),
我只是写一个.rst文件:
.. automodule:: my_module
:members:
Run Code Online (Sandbox Code Playgroud)
它记录了my_module,但它没有找到像my_module.inner_module0和my_module.inner_module1这样的内部模块.除了__all__变量之外,是否还需要在__init__.py文件中指定某些内容?
另外,我知道sphinx-apidoc.但是这个命令文件太多了(暴露了每个函数/文件夹,包括未记录的文件).
它是关于Frank Denis先生的libpuzzle libray for php(http://libpuzzle.pureftpd.org/project/libpuzzle).我试图了解如何在我的mysql数据库中索引和存储数据.矢量的生成绝对没有问题.
例:
# Compute signatures for two images
$cvec1 = puzzle_fill_cvec_from_file('img1.jpg');
$cvec2 = puzzle_fill_cvec_from_file('img2.jpg');
# Compute the distance between both signatures
$d = puzzle_vector_normalized_distance($cvec1, $cvec2);
# Are pictures similar?
if ($d < PUZZLE_CVEC_SIMILARITY_LOWER_THRESHOLD) {
echo "Pictures are looking similar\n";
} else {
echo "Pictures are different, distance=$d\n";
}
Run Code Online (Sandbox Code Playgroud)
多数民众赞成在我看来 - 但现在当我有大量的图片> 1.000.000时,我如何工作?我计算向量并将其与文件名一起存储在数据库中?现在如何找到类似的图片?如果我在mysql中存储每个向量,我必须打开每个记录并使用puzzle_vector_normalized_distance函数计算距离.该过程需要很多时间(打开每个数据库条目 - 把它抛出函数,...)
我从lib puzzle libaray读了自述文件,发现了以下内容:
它是否适用于拥有数百万张图片的数据库?
典型的图像签名仅需要182个字节,使用内置的压缩/解压缩功能.
类似的签名共享相同的"单词",即.相同位置的相同值序列.通过使用复合索引(单词+位置),可能的相似矢量集显着减少,并且在大多数情况下,实际上不需要计算矢量距离.
通过单词和位置进行索引还可以轻松地将数据拆分为多个表和服务器.
所以,是的,Puzzle库与一些需要索引数百万张图片的项目并不相容.
我也找到了关于索引的描述:
------------------------ INDEXING ------------------------
如何快速找到类似图片,如果它们是数百万条记录?
原始论文有一个简单而有效的答案.
用固定长度的单词剪切矢量.例如,让我们考虑以下向量:
[abcdefghijklmnopqrstu vwxyz]
如果单词长度(K)为10,您可以得到以下单词:
[abcdefghij]发现位置0 [bcdefghijk]发现位置1 …
有没有办法在Sphinx中将类和/或方法标记为已弃用?我只能找到模块的弃用选项.
使用通用的警告会起作用,但不会带有语义含义.
我创建了一个使用setuptools的演示项目,它具有以下结构:
project/
|- pizza/
| |- __init__.py
| `- margherita.py
|
|- README.rst
|- setup.cfg
`- setup.py
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Sphinx自动生成此项目的文档.到目前为止,我已经尝试过:
# Generate a sphinx template
sphinx-quickstart
# Use default settings, except for project name, etc.
sphinx-apidoc -o source .
./setup.py build_sphinx
Run Code Online (Sandbox Code Playgroud)
我觉得必须有到自动生成使用本文档更简单的方法README,setup.py和文档字符串.
最后,我想为另一个使用Python C-api的项目自动生成apidocs.我找不到任何东西.
我的主要问题是:是否有更简单的方法来自动生成此文档?
这是从sphinx doc中删除包和/或模块名称的任何方法吗?
示例:如果在模块foo.bar中存在一个名为waa的函数,则为第一个代码
.. automodule:: foo.bar
:members:
Run Code Online (Sandbox Code Playgroud)
会产生
foo.bar.waa()
Run Code Online (Sandbox Code Playgroud)
我想输出
waa()
Run Code Online (Sandbox Code Playgroud) 像python或django的文档一样,我如何使用sphinx获得多个版本的doc?
我保存在我的git的文档,我希望我的用户能够看到文档不同版本的一样v2.7,v3.4等
感谢您的帮助
我在Sphinx中记录了一个python模块.我有一个完整的模块使用示例的源代码文件.我想引用这个文件.内联作为连续代码太长了.有没有办法创建一个完整源文件的链接,格式化为代码友好的方式(即文字或行号)?
谢谢.
这是我们安装Sphinx的过程.
> choco install python -y -f
> pip install sphinx
Run Code Online (Sandbox Code Playgroud)
我们知道由于以下输出而安装了sphinx.
> pip show sphinx
---
Metadata-Version: 2.0
Name: Sphinx
Version: 1.4.3
Summary: Python documentation generator
Home-page: http://sphinx-doc.org/
Author: Georg Brandl
Author-email: georg@python.org
License: BSD
Location: c:\programdata\chocolatey\lib\python3\tools\lib\site-packages
Run Code Online (Sandbox Code Playgroud)
我们还将其安装位置添加到PATH中.
c:\programdata\chocolatey\lib\python3\tools\lib\site-packages
Run Code Online (Sandbox Code Playgroud)
即便如此,跑步sphinx-build也行不通.
'sphinx-build' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud) python ×5
api-doc ×1
chocolatey ×1
compare ×1
deprecated ×1
hyperlink ×1
image ×1
methods ×1
mysql ×1
php ×1
similarity ×1
windows-10 ×1