小编man*_*anu的帖子

如何在运行pytest测试时随意执行ipdb.set_trace()

我正在为我的测试套件使用pytest.虽然在复杂的组件间测试中捕获错误,但我想放在import ipdb; ipdb.set_trace()我的代码中间以允许我调试它.

但是,由于pytest陷阱sys.stdin/sys.stdout ipdb失败.如何在使用pytest进行测试时使用ipdb.

我没有兴趣在失败后跳转到pdb或ipdb,但是在代码中的任何地方放置中断并且能够在发生故障之前在那里调试它.

pytest

89
推荐指数
4
解决办法
2万
查看次数

如何使章节*,章节*和子章节*出现在目录中

我需要生成一个PDF文档,其中我需要一些"章节"(以及它的章节和小节)是非编号的,但仍包含在ToC中.

这是我的硕士论文.我正在使用书籍文档类,因为我不喜欢回忆录默认值.

如果我使用\chapter*,那么LaTeX将从ToC中删除该章节.但我要求在ToC中也有这些.此外,标题(花式)不会改变\chapter*.

论文的总体结构是:

\maketitle %% A custom one
\frontmatter
\tableofcontents
\listoftables
\listoffigures

\chapter*{Abstract}
\chapter*{Introduction} %% This "chapter" presents the whole thesis

\mainmatter

%% Here the real chapters are written

\appendix
%% Appendixes here

%% bibliography
Run Code Online (Sandbox Code Playgroud)

如何制作\chapter*,\section*\subsection*出现在ToC中并修改标题?

最好的问候,曼努埃尔.

更新:我想我可能正在使用一些干扰页眉和页脚生成方式的包.smilethax的答案让问题的第一部分得到了回应:我现在在TOC上有我的\章节*.

这是我的完整序言:

\usepackage[sort&compress,round,semicolon]{natbib}
\usepackage{babel}
\usepackage{setspace}
%% inputenc so we can write in spanish
\usepackage[utf8]{inputenc}

\usepackage{fixltx2e} % LaTeX patches, \textsubscript
\usepackage{cmap} % fix search and cut-and-paste in PDF
\usepackage{ifthen}
%% \usepackage{float} …
Run Code Online (Sandbox Code Playgroud)

latex

18
推荐指数
2
解决办法
7万
查看次数

如何在 Rust 中提供通用结构的实现?

我有一个MyStruct采用泛型参数的结构,T: SomeTrait我想newMyStruct. 这有效:

/// Constraint for the type parameter `T` in MyStruct
pub trait SomeTrait: Clone {}

/// The struct that I want to construct with `new`
pub struct MyStruct<T: SomeTrait> {
    value: T,
}

fn new<T: SomeTrait>(t: T) -> MyStruct<T> {
    MyStruct { value: t }
}

fn main() {}
Run Code Online (Sandbox Code Playgroud)

我想把这个new函数放在一个impl像这样的块中:

impl MyStruct {
    fn new<T: SomeTrait>(t: T) -> MyStruct<T> {
        MyStruct { value: t }
    } …
Run Code Online (Sandbox Code Playgroud)

generics struct rust

14
推荐指数
1
解决办法
5852
查看次数

如何在Alembic中创建postgresql的序列

我正在alembic用来维护我的桌子.同时,我使用声明方式更新我的模型.

这是一个alembic的表:

op.create_table(
    'groups',
    Column('id', Integer, Sequence('group_id_seq'), primary_key=True),
    Column('name', Unicode(50)),
    Column('description', Unicode(250)),
)
Run Code Online (Sandbox Code Playgroud)

模型如下:

class Group(Base):
    __tablename__ = 'groups'
    id = Column(Integer, Sequence('group_id_seq'), primary_key=True)
    name = Column(Unicode(50))
    description = Column(Unicode(250))

    def __init__(self, name, description):
        self.description = description
        self.name = name
Run Code Online (Sandbox Code Playgroud)

你可以看到,我正在使用Sequencealembic迁移和声明模型.

但我注意到,当使用PostgreSQL(v9.1)时,alembic不会创建任何序列,因此模型无法创建实例,因为它们将使用该nextval(<sequence name>)子句.

那么,我如何创建我的alembic迁移,以便在postgresql中真正生成序列?

sqlalchemy alembic

11
推荐指数
2
解决办法
7541
查看次数

如何通过上下文使flyspell绕过一些单词?

我用Emacs写了我的大部分着作.我使用reStructuredText编写,然后经过一些预处理后将它们转换为LaTeX,因为我写了引用á-la LaTeX.这是我的一篇文章(西班牙文)的摘录:

En \cite[pp.~XXVIII--XXIX]{Crnkovic2002} se brindan algunos riesgos
que se pueden asumir con el desarrollo basado en componentes, los
Run Code Online (Sandbox Code Playgroud)

此文本由一些处理部件的自定义脚本处理,\cite因此rst2latex可以完成其工作.

当我激活flyspell-mode时,它会将大多数引文键指示为拼写错误.

如何告诉flyspell不要在\cite命令中拼写检查内容.

此外,我如何组合rst模式和flyspell,以便rst模式可以保持飞行速度不受以下拼写检查?

  • reST评论
  • reST代码文字
  • reST指令参数和参数
  • reST原始指令内容

有任何想法吗?

emacs emacs23 flyspell

9
推荐指数
1
解决办法
1505
查看次数

在ActiveRecord(Rails)中有什么类似create_view的东西吗?

我需要在我的数据库中创建一个视图.我知道我可以使用ActiveRecord使用create_table方法创建表.我想知道是否有类似create_table的东西,但是会创建一个视图.

ruby-on-rails

7
推荐指数
3
解决办法
3687
查看次数

如何在emacs nxml-mode中搜索与xpath表达式匹配的元素?

有没有办法以交互方式搜索与emacs中给定xpath表达式匹配的节点?

我想要类似的东西,re-forward-search但我没有使用正则表达式,而是键入一个xpath表达式.

emacs xpath

6
推荐指数
1
解决办法
847
查看次数

为什么尽管尾部递归,foldl似乎是有害的?

我一直认为尾递归函数在性能方面比非尾递归版本更好.因此,计算列表中的项目可能会像这样实现:

count:: [a] -> Int
count [] = 0
count (x:xs) = 1 + count xs
Run Code Online (Sandbox Code Playgroud)

但是这个函数不是尾递归的,因此不尽可能高效.修复是累积计数,如下所示:

_count:: Num b => b -> [a] -> b
_count b [] = b
_count b (x:xs) = _count (b + 1) xs

count:: [a] -> Int
count = _count 0
Run Code Online (Sandbox Code Playgroud)

这可以通过尾递归折叠轻松实现:

myfold:: (b -> a -> b) -> b -> [a] -> b
myfold f b [] = b
myfold f b (x:xs) = myfold f (f b …
Run Code Online (Sandbox Code Playgroud)

recursion haskell fold

6
推荐指数
1
解决办法
228
查看次数

emacsclient -eval "(insert \"something\")" 对我不起作用

我最近升级到 Emacs 23 附带的 Ubuntu 10.04。我需要 Jabref 将引文推送到 Emacs。

然而,尽管我安装了 Jabref 插件来通过 emacsclient 推送引文,但它不起作用。

我做了我的测试,并阅读了一些 Emacs Lisp 介绍。

一些命令确实有效,例如如果我输入(在控制台中):

  emacsclient --eval "(switch-to-buffer \"*sratch*\")"
Run Code Online (Sandbox Code Playgroud)

emacs 窗口切换到该缓冲区。但是,如果我发出插入命令:

  emacsclient --eval "(insert \"do you see me?\")"
Run Code Online (Sandbox Code Playgroud)

当前缓冲区中没有插入任何文本。

Emacs 23 是否改变了插入的某些内容?

emacs

5
推荐指数
1
解决办法
1622
查看次数

如何将现有缓冲区附加到realgud调试器?

我开始realgud在GNU Emacs 24.3.1中使用它作为GUD的替代品.(主要是因为当我用vanilla pdb设置断点时它不尊重它.)

我正在启动OpenERP Web服务器pdb bin/start_openerp并打开主脚本.但我需要能够在我正在处理的缓冲区中放置断点.

我需要如何将缓冲区附加到调试器.

关于我的环境的更多细节

对于OpenERP开发我正在使用buildoutanybox配方.这将创建bin/start_openerp重写该脚本sys.path以匹配我的buildout环境的脚本.

我正在开发几个OpenERP的自定义插件.所以当我需要进入调试器会话以解决问题时,我正在编辑一些.我做以下事情:

  1. 编辑我的缓冲区并保存它们.
  2. pdb bin/start_openerp.这将打开ShortKeys活动次要模式的脚本.

如果我break file:lineno在realgud缓冲区上执行命令,它就会工作并且会中断休息.但是我需要转到其中一个缓冲区,并在某些行中使用该点,在那里设置断点.

python debugging emacs

5
推荐指数
1
解决办法
880
查看次数