关闭python引用计数输出

关闭python引用计数输出,python,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]

所以,每当我在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

我怎么把它关掉

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

来自
Misc/SpecialBuilds.txt

Py_REF_调试


启用聚合引用计数。这将安排外部参照总计 保存所有引用的计数,即所有对象的ob_refcnt之和。在一个 调试模式构建,这就是“8288”的来源

请注意,如果在不存储新对象时此计数增加, 可能是漏水了。但是,请记住,在交互模式下 名称“\”包含对上次显示结果的引用

Py_REF_DEBUG还将在每次decref后进行检查,以验证refcount是否没有 如果为负值,则会立即导致致命错误

特别手法:


Py_REF_DEBUG
还包含一些其他调试选项。但是每个人都是对的:不管怎样,你都有一个Python的调试版本。

正如@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

请参阅:

在解释器启动时是否设置了任何可能启用GC调试标志的运行程序?是否在编译Python时启用了一些调试标志?(只是猜测一下)。试着运行:
Python-S
See@alecxe,谢谢。我可以从源代码处重新安装Python吗?我一直认为执行
sudo apt get install
比从源代码处编译以进行维护要好……我想我只是在使用默认的Python安装。可能已经升级了。Python路径是
/usr/local/bin/Python
;如何重新编译?
/usr/local/bin/python
从源代码编译的python的味道。请参阅:@JamesMills将重新编译它以破坏当前包?我应该再次链接一些库吗?特别是,我担心我的MySQL安装和其他东西。这是一个实时网站,我不希望任何宕机。不会有太多东西依赖于安装到
/usr/local/lib
的库,当然也不会有太多东西依赖于Python库(.so文件)——除非你有用C/C++嵌入式Python编写的应用程序。您应该检查的是您站点上的其他应用程序/工具/web应用程序当前使用的是
/usr/local/bin/python
。例如使用
lsof
。@JamesMills--但是已经安装的第三方模块会被保留吗?如果它真的很关键,我可能会把一个新的安装在其他地方,测试该网站对新安装之前,推动生产。。。
    sys.gettotalrefcount()
    Return current total of all refcounts.
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