Windows上的“ImportError: 没有名为site的模块”
我第一次尝试安装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 个回答
确保你的 PYTHONHOME 环境变量设置正确。如果 PYTHONHOME 指向了一个无效的位置,或者指向了你想要运行的另一个 Python 安装,你就会收到这个错误。
你可以试试这个:
C:\>set PYTHONHOME=C:\Python27
C:\>python
使用
setx PYTHONHOME C:\Python27
来永久设置这个,以便在以后的命令提示符中都能生效。
快速解决办法:设置 PYTHONHOME 和 PYTHONPATH,并把 PYTHONHOME 加入到 PATH 里。
比如,如果你安装在 c:\Python27 这个位置。
set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%
要确保 PYTHON* 变量后面没有多余的反斜杠('\'),这样会导致问题。
我花了将近一天的时间在研究这个问题,终于有了新的发现。试试这个方法:
设置 PYTHONPATH 和 PYTHONHOME 变量
右键点击 计算机图标,然后选择 属性。在左边的选项卡中,找到 高级系统设置。在弹出的窗口中,切换到 高级 标签,然后在底部点击 环境变量。在用户变量的列表中点击一下,然后开始输入 Python,接着在 系统变量 中重复这个步骤,确保你的 PYTHONPATH 和 PYTHONHOME 变量没有设置错误。接下来,添加新的变量(我是在系统变量中添加的,用户变量也可能可以):PYTHONPATH,设置为 C:\Python27\Lib。
PYTHONHOME
,设置为 C:\Python27。