小编Joh*_*ohn的帖子

ipdb与python unittest模块

当使用python的unittest模块运行测试时,有没有方便的方法来获取异常的ipdb调试器?

使用调试python代码很方便ipython --pdb my_script.py.但是,当我使用unittest模块时,用

class MyTestCase(unittest.TestCase):
    def runTest(self):
        x = 0
        y = 3/x
Run Code Online (Sandbox Code Playgroud)

unittest捕获异常并退出.

python unit-testing ipdb

12
推荐指数
1
解决办法
945
查看次数

重构文本中的内部超链接,带有自定义文本

我知道如何使用自定义文本创建外部超链接.

`My cool link <http://www.asdf.com>`_
Run Code Online (Sandbox Code Playgroud)

但我想链接到内部参考.

.. _foo:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Run Code Online (Sandbox Code Playgroud)

所以我想做点什么

`My cool internal link <foo>`_
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

restructuredtext

12
推荐指数
3
解决办法
1035
查看次数

检查当前Emacs缓冲区是否包含字符串

我在emacs中打开了一个缓冲区.我想要一个函数,t如果当前缓冲区包含字符串将返回,否则返回nil.

(defun buffer-contains-substring (string)
    ...
)
Run Code Online (Sandbox Code Playgroud)

lisp emacs buffer elisp

10
推荐指数
1
解决办法
1138
查看次数

共享库名称冲突

我正在分发一个共享库(c ++)和一个使用这个库的python模块.我构建了Bullet Physics Library的修改版本(作为CMake子项目).我只在一个文件中使用Bullet类和函数 - bullet_interface.cpp - 并且所有Bullet内容都隐藏在"namespace {...}"中.

问题是其他一些库需要Bullet作为系统依赖项并链接到Bullet的系统版本.实际上,我的库(libopenrave)的一个依赖项导出了Bullet符号.(更具体地说,它有时会动态加载导出Bullet符号的插件).

我想知道是否有一种方法来构建我的库,因此bullet_interface.cpp使用正确的Bullet函数,但是我的库不会使任何Bullet符号可见.我无法使用系统项目符号,因为我必须对源代码进行更改.一个hacky解决方案是使用搜索和替换重命名所有Bullet函数和类(几乎所有包含字符串"bt").有没有更好的办法?

c++ visibility shared-libraries name-clash

7
推荐指数
1
解决办法
1552
查看次数