我在整个文档中都看到过很多有关usercustomize的提及。究竟是什么?

我在使用IDLE解释器的Ubuntu 12.0,Python 3.3上。

'usercustomize.py'文件添加到/usr/lib/python3.3中,其中包含以下代码:

import math


我启动了IDLE解释器。在不导入数学的情况下,我输入了math.sqrt(

键入Ctrl + \开始自动完成建议,出现类似sqrt(x)的提示。这表明数学实际上已经被导入。但是实际上调用该函数会引发NameError

这到底是怎么回事?

最佳答案

有关site含义的完整文档,请参见usercustomize module

请注意,只有在启用usercustomize的情况下,才能导入site.ENABLE_USER_SITE


  此后,尝试导入名为usercustomize的模块,如果ENABLE_USER_SITE为true,则该模块可以执行任意特定于用户的自定义。该文件旨在在用户站点软件包目录(请参见下文)中创建,该目录是sys.path的一部分,除非被-s禁用。 ImportError将被静默忽略。


math导入usercustomize将使其无法在IDLE中使用;您不是以内置方式构建它。您可以将其添加到builtins module中,但我建议您不要这样做。

usercustomize并非旨在设置默认的IDLE环境,它旨在向sys.path模块搜索路径和其他常规Python运行时环境更改中添加额外的条目。

10-06 08:34