我在整个文档中都看到过很多有关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运行时环境更改中添加额外的条目。