小编ita*_*tai的帖子

如何在virtualenv中使用gdb python调试扩展

我正在运行ubuntu,并安装了python-dbg软件包.当尝试直接使用已安装的版本时,一切都很好:

$ gdb python2.7-dbg
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
---x snipped x---
Reading symbols from /usr/bin/python2.7-dbg...done.
(gdb) r
Starting program: /usr/bin/python2.7-dbg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Python 2.7.3 (default, Feb 27 2014, 19:39:25)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Program received signal SIGINT, Interrupt.
0x00007ffff6997743 in __select_nocancel () at ../sysdeps/unix/syscall-template.S:82
82      ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) py-bt (<--- works, just has nothing to do)
(gdb) …
Run Code Online (Sandbox Code Playgroud)

python gdb virtualenv

15
推荐指数
2
解决办法
7329
查看次数

使用初始值在python中创建md5对象

我有一些代码需要散列某些数据,然后在另一个进程中,继续散列更多的数据.

有没有办法从md5或hashlib模块创建一个对象,它具有与'd41d8cd98f00b204e9800998ecf8427e'不同的初始值?我的意思是类似于:

x = md5.from_digest('0123456789abcdef')
x.update(new_data)
Run Code Online (Sandbox Code Playgroud)

注意:不太理想的方法是保存原始md5对象并在以后恢复它,但是afaik HASH对象是不可拾取的.

python md5

8
推荐指数
1
解决办法
872
查看次数

从python中的weakref代理获取常规引用

有没有办法为我获得弱引用代理的对象获得正确的引用?

我已经浏览了weakref 模块的文档,但无法在那里得到答案,或者通过手动戳一个weakproxy 对象。

python weak-references

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

内存泄漏与rpy

我的代码中有一小部分与此类似(当然是真实矩阵而不是零填充):

x = [rinterface.FloatSexpVector([0]*(1000**2)) for i in xrange(20)]
y = robjects.r('list')(x)
Run Code Online (Sandbox Code Playgroud)

它看起来像是导致内存泄漏.

运行以下代码时:

for i in xrange(10):
    x = [rinterface.FloatSexpVector([0]*(1000**2)) for i in xrange(20)]
    y = robjects.r('list')(x)
    del x
    del y
    robjects.r('gc(verbose=TRUE)')
Run Code Online (Sandbox Code Playgroud)

我明白了:

Error: cannot allocate vector of size 7.6 Mb
In addition: Warning messages:
1: Reached total allocation of 2047Mb: see help(memory.size)
2: Reached total allocation of 2047Mb: see help(memory.size)
3: Reached total allocation of 2047Mb: see help(memory.size)
4: Reached total allocation of 2047Mb: see help(memory.size)
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是我应该做的其他事情?我也尝试将变量命名为robjects.globalenv然后rm() - 在gc()之前将它们命名,但它似乎没有用. …

python memory-leaks r rpy2

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

标签 统计

python ×4

gdb ×1

md5 ×1

memory-leaks ×1

r ×1

rpy2 ×1

virtualenv ×1

weak-references ×1