我正在使用 Python Sphinx(通过ReadTheDocs)。
我有一个包含几个子模块的存储库,我正在尝试创建一个统一的文档,但仍然单独保留每个模块中的文档资产。
我的文件夹层次结构是:
MyProject
docs
index.rst
module_1_link.rst
_static
<more irrelevant assets...>
module_1
docs
README.rst
_static
myimage.png
Run Code Online (Sandbox Code Playgroud)
该index.rst文件看起来是这样的:
.. toctree::
:caption: Module1
module_1_link
Run Code Online (Sandbox Code Playgroud)
文件module_1_link.rst仅包含指向模块 1 的 README 文件的链接:
.. include:: ../module1/docs/README.rst
Run Code Online (Sandbox Code Playgroud)
模块 1的README.rst引用了图像:
.. image:: _static/myimage.jpg
Run Code Online (Sandbox Code Playgroud)
当我查看模块 1(在 GitHub 内)的 README 文件时 - myimage.png 显示完美。
但是,当我通过 sphinx 运行文档时,我得到:
WARNING: image file not readable: _static/myimage.jpg
Run Code Online (Sandbox Code Playgroud)
我找不到从自述文件和 sphinx 呈现的索引文件中引用相同图像的方法,并在两个地方都看到它。
我编写了一个python实用程序脚本,它使用optparse在脚本启动时包含选项和标志.
一切都很好,但是当我导入谷歌API oauth2client并运行它的执行功能时,它会覆盖我add_options使用的选项.
当我说'覆盖'时,我的意思是即使我的脚本向我的选项解析器添加选项,当我执行脚本时:
./myscript --help
Run Code Online (Sandbox Code Playgroud)
我得到了我添加到脚本中的选项的详细响应:
Usage: myscript [options]
Options:
-h, --help show this help message and exit
-u USER, --user=USER resources owned by this username
Run Code Online (Sandbox Code Playgroud)
但是,当我实际执行我的脚本时:
./myscript --user myuser
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
usage: smyscript [-h] [--auth_host_name AUTH_HOST_NAME]
[--noauth_local_webserver]
[--auth_host_port [AUTH_HOST_PORT
[AUTH_HOST_PORT ...]]]
[--logging_level
{DEBUG,INFO,WARNING,ERROR,CRITICAL}]
myscript: error: unrecognized arguments: --user myuser
Run Code Online (Sandbox Code Playgroud)
另一个要知道的重要事情是我正在使用我自己的模块包装oauth2client,如下所示:
import oauth2client
import argparse
def execute():
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter,
parents=[tools.argparser])
# don't use any flags
flags = parser.parse_args(None)
flow = client.flow_from_clientsecrets(
client_secret_path,
scope=scope_path,
message=tools.message_if_missing(client_secret))
# …Run Code Online (Sandbox Code Playgroud) 我想将XGBoost用于在线生产(Python 2.7 XGBoost API)。为了能够做到这一点,我想在预测操作中控制和限制XGBoost使用的线程数。
我正在使用XGBoost(xgboost.XGBRegressor)提供的sklearn兼容回归器,并一直尝试在回归器的构造函数中使用param nthread来将最大线程数限制为1。
不幸的是,无论nthread中设置的值如何,XGBoost都会继续使用多个线程。
还有另一种方法来限制XGBoost并强制它使用n = 1个线程执行预测操作吗?