Windows上的“ImportError: 没有名为site的模块”

107 投票
17 回答
318418 浏览
提问于 2025-04-16 15:22

我第一次尝试安装Python。我从Python官网上下载了这个安装程序:Python 2.7.1 Windows安装程序(Windows二进制文件,不包括源代码)。然后我运行了安装程序,选择了“所有用户”,一切都很顺利。我把Python安装到了默认位置:

C:\Python27

接下来,为了测试Python是否安装成功,我打开了Windows的命令提示符,进入了我的Python目录,并输入了python。结果出现了以下错误:

ImportError: 没有名为site的模块

当我输入python -v时,得到了以下信息:

#正在安装zipimport钩子
import zipimport # 内置模块
#已安装zipimport钩子
#ImportError: 没有名为site的模块
#清理 builtin._
#清理 sys.path
#清理 sys.argv
#清理 sys.ps1
#清理 sys.ps2
#清理 sys.exitfunc
#清理 sys.exc_type
#清理 sys.exc_value
#清理 sys.exc_traceback
#清理 sys.last_type
#清理 sys.last_value
#清理 sys.last_traceback
#清理 sys.path_hooks
#清理 sys.path_importer_cache
#清理 sys.meta_path
#清理 sys.flags
#清理 sys.float_info
#恢复 sys.stdin
#恢复 sys.stdout
#恢复 sys.stderr
#清理 main
#清理 [1] zipimport
#清理 [1] signal
#清理 [1] exceptions
#清理 [1] _warnings
#清理 sys
#清理 builtin
#清理整数:6个未释放的整数
#清理浮点数

当我输入dir C:\Python27\Lib\site.py*时,得到了以下结果:

 Directory of C:\Python27\Lib  

13/11/2010  20:08            20,389  site.py  
               1 File(s)         20,389 bytes  
               0 Dir(s)     694,910,976 bytes free  

有什么想法吗?

17 个回答

12

确保你的 PYTHONHOME 环境变量设置正确。如果 PYTHONHOME 指向了一个无效的位置,或者指向了你想要运行的另一个 Python 安装,你就会收到这个错误。

你可以试试这个:

C:\>set PYTHONHOME=C:\Python27
C:\>python

使用

setx PYTHONHOME C:\Python27

来永久设置这个,以便在以后的命令提示符中都能生效。

44

快速解决办法:设置 PYTHONHOME 和 PYTHONPATH,并把 PYTHONHOME 加入到 PATH 里。

比如,如果你安装在 c:\Python27 这个位置。

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%

要确保 PYTHON* 变量后面没有多余的反斜杠('\'),这样会导致问题。

150

我花了将近一天的时间在研究这个问题,终于有了新的发现。试试这个方法:

  1. 设置 PYTHONPATH 和 PYTHONHOME 变量

    右键点击 计算机图标,然后选择 属性。在左边的选项卡中,找到 高级系统设置。在弹出的窗口中,切换到 高级 标签,然后在底部点击 环境变量。在用户变量的列表中点击一下,然后开始输入 Python,接着在 系统变量 中重复这个步骤,确保你的 PYTHONPATH 和 PYTHONHOME 变量没有设置错误。接下来,添加新的变量(我是在系统变量中添加的,用户变量也可能可以):PYTHONPATH,设置为 C:\Python27\LibPYTHONHOME,设置为 C:\Python27

撰写回答