关闭python引用计数输出

时间:2014-01-10 04:44:22

标签: python

所以,每当我在Python中做任何事情时,我都会不断获得这个refs count输出。例如:

xxxxx@li282-82:~$ python
Python 2.7.3 (default, Feb 28 2013, 20:42:30) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
[40347 refs]
>>> django.VERSION
(1, 5, 2, 'final', 0)
[40349 refs]
>>> 
[40349 refs]
[19961 refs]
xxxxx@li282-82:~$ logout

如何关闭它?!

3 个答案:

答案 0 :(得分:3)

在我看来,你的解释器是用debug flag编译的。要摆脱它,我认为你需要重新编译。

答案 1 :(得分:2)

来自Misc/SpecialBuilds.txt

  

Py_REF_DEBUG

     
     

启用聚合引用计数。这将安排extern _Py_RefTotal   保存所有引用的计数,即所有对象中ob_refcnt的总和。在一个   调试模式构建,这是“8288”来自

的地方
>>> 23
23
[8288 refs]
>>>
  

请注意,如果您不存储新对象时此计数会增加,   可能有泄漏。但请记住,在交互模式下,这是特殊的   名称“_”包含对显示的最后结果的引用!

     

Py_REF_DEBUG还会在每次递减后检查以验证refcount没有   消极的,如果有的话会立即造成致命的错误。

     

特别噱头:

    sys.gettotalrefcount()
    Return current total of all refcounts.
某些其他调试选项也 Py_REF_DEBUG 暗示。但是每个人都是对的:以某种方式或其他你有Python的调试版本。

答案 2 :(得分:0)

根据@mgilson的建议,您可能安装了源代码编译的Python(/usr/local/bin/python提示)。如果您想从源代码重建Python,请下载您所使用版本的最新源代码,并按照粗略说明进行操作:

tar jxvf Python-x.y.z.tar.bz2
cd Python-x.y.z
./configure --prefix=/usr/local \
            --mandir=/usr/local/man \
            --enable-shared \
            --with-threads \
            --enable-ipv6 \
            --with-dbmliborder=gdbm
make
make install

请参阅:http://docs.python.org/2/using/unix.html#building-python