usercustomize是什么

5 投票
1 回答
3468 浏览
提问于 2025-04-17 20:48

我在很多文档中看到提到“usercustomize”。这到底是什么东西呢?

我使用的是Ubuntu 12.0,Python 3.3,正在用IDLE这个解释器。

我在 /usr/lib/python3.3 目录下添加了一个 'usercustomize.py' 文件,里面写了以下代码:

import math

我启动了IDLE解释器。在没有导入math模块的情况下,我输入了 math.sqrt(

然后按下Ctrl + \来启动自动补全提示,屏幕上出现了 sqrt(x) 的提示。这看起来像是math模块已经被导入了。但实际上调用这个函数时却出现了 NameError 的错误。

这到底是怎么回事呢?

1 个回答

4

查看site模块,可以了解usercustomize的详细功能。

需要注意的是,只有在site.ENABLE_USER_SITE被启用的情况下,usercustomize才会被导入:

如果ENABLE_USER_SITE为真,系统会尝试导入一个名为usercustomize的模块,这个模块可以进行用户特定的自定义设置。这个文件应该放在用户的site-packages目录中(见下文),这个目录是sys.path的一部分,除非通过-s禁用它。导入错误ImportError会被默默忽略。

math模块导入到usercustomize中并不会让它在IDLE中可用;这样并不能让它变成内置模块。你可以把它添加到builtins模块中,但我不建议这样做。

usercustomize并不是用来设置默认的IDLE环境,它的目的是为了在sys.path模块搜索路径中添加额外的条目,以及进行其他一些Python运行环境的更改。

撰写回答