Windows 上出现“ImportError:没有名为 site 的模块”
- 2025-02-20 09:24:00
- admin 原创
- 59
问题描述:
我第一次尝试安装 Python。我从 Python 网站下载了以下安装程序:Python 2.7.1 Windows 安装程序(Windows 二进制文件 - 不包括源代码)。然后我运行安装程序,选择“所有用户”,一切正常。我将 Python 安装到默认位置:
C:Python27
接下来,为了测试 Python 是否安装正确,我导航到 Python 目录,并python
在 Windows CMD 提示符中执行。它返回以下错误:
ImportError:没有名为 site 的模块
当我执行时,python -v
我得到以下信息:
安装 zipimport 钩子
导入 zipimport #builtin #
安装 zipimport 钩子
ImportError: 没有名为站点的模块
clearbuiltin ._
clearsys.path
clearsys.argv# clearsys.ps1
clearsys.ps2
clearsys.exitfunc
clearsys.exc_type
clearsys.exc_value
clearsys.exc_traceback
clearsys.last_type
clearsys.last_value
clearsys.last_traceback
clearsys.path_hooks#clearsys.path_importer_cache
clearsys.meta_path #clearsys.flags
clearsys.float_info
restoresys.stdin
restoresys.stdout #
restoresys.stderrcleanupmain
cleanup
[1]zipimport
cleanup[1]signal
cleanup[1]exceptions
cleanup [1] _warnings
cleanup sys
cleanupbuiltin
cleanup ints: 6 个未释放的整数#cleanup
浮点数
当我这样做时dir C:Python27Libsite.py*
,我得到以下信息:
Directory of C:Python27Lib 13/11/2010 20:08 20,389 site.py 1 File(s) 20,389 bytes 0 Dir(s) 694,910,976 bytes free
有什么想法吗?
解决方案 1:
我自己研究这个问题已经将近一天了,终于取得了突破。试试这个:
设置 PYTHONPATH / PYTHONHOME变量
右键单击开始菜单中的计算机图标,转到属性。在左侧选项卡上,转到高级系统设置。在出现的窗口中,转到高级选项卡,然后在底部单击环境变量。单击用户变量列表并开始输入 Python,然后重复系统变量的操作,以确保没有错误设置 PYTHONPATH 或 PYTHONHOME 的变量。接下来,添加新变量(我在系统中而不是用户中执行此操作,尽管它也可能适用于用户):PYTHONPATH,设置为C:\Python27\Lib。,设置为C:\Python27。PYTHONHOME
解决方案 2:
快速解决方案:设置 PYTHONHOME 和 PYTHONPATH 并将 PYTHONHOME 包含在 PATH 中
例如如果你安装到 c:\Python27
set PYTHONHOME=c:Python27
set PYTHONPATH=c:Python27Lib
set PATH=%PYTHONHOME%;%PATH%
确保 PYTHON* 变量上没有尾随的“\”,这似乎也会破坏它。
解决方案 3:
我在安装 Windows Python 和 Cygwin Python 后遇到了这个问题,并尝试从 Cygwin 运行 Cygwin Python。我通过export
输入 PYTHONHOME=/usr/ 和 PYTHONPATH=/usr/lib/python2.7解决了这个问题
解决方案 4:
确保正确设置了 PYTHONHOME 环境变量。如果 PYTHONHOME 指向无效位置或您尝试运行的另一个 Python 安装,您将收到此错误。
尝试一下:
C:>set PYTHONHOME=C:Python27
C:>python
使用
setx PYTHONHOME C:Python27
为后续命令提示符永久设置此项
解决方案 5:
找到site.py并将其路径添加到PYTHONPATH中。这将解决您的问题。
解决方案 6:
您是否尝试从 Cygwin 运行 Windows Python?我遇到了同样的问题。Cygwin 中的 Python 无法导入站点。Cmd 中的 Python 可以运行。
看来您需要确保运行 PYTHONHOME 和 PYTHONPATH 以使cygwin -aw
它们成为 Windows 路径。此外,python 似乎使用了一些不正确的路径。
我想我需要通过 cygwin 安装 python 才能使其运行。
解决方案 7:
就我而言,问题出在另一个 site.py 文件上,由于 PATH 设置,该文件比 Python\Lib 中的文件更早得到解决。
环境:Windows 10 Pro,Python27。
我的桌面安装了 pgAdmin,其文件为 C:\Program Files (x86)\pgAdmin\venv\Lib\site.py。由于 PATH 环境变量中 pdAdmin 的主目录早于 Python(显然这本来就是一个坏主意),因此首先找到了 pgAdmin 的 site.py。
我所需要做的就是将 pgAdmin 的目录移到 Python 的后面,在 PATH 中
解决方案 8:
对于 Windows 10 (跟进@slckin 的回答),可以通过命令行进行设置:
setx PYTHONHOME "C:Python27"
setx PYTHONPATH "C:Python27Lib"
setx PATH "%PYTHONHOME%;%PATH%"
解决方案 9:
对我来说,这是因为我安装了 2 个版本的 Python - Python 27 和 Python 3.3。这两个文件夹都设置了路径变量,因此出现了这个问题。为了解决这个问题,我将 Python27 移到了临时文件夹,因为我对 Python 3.3 没问题。所以请检查环境变量,例如 PATH、PYTHONHOME,因为这可能是一个问题。谢谢。
解决方案 10:
如果有人发现它在非管理员用户下仍然不起作用:
错误示例:
ImportError: No module named iso8601
您需要为 easy_install 设置'--always-unzip'选项:
easy_install --always-unzip python-keystoneclient
它将解压你的 egg 文件并允许导入来找到它们。
解决方案 11:
ImportError: No module named site
我在安装 python 2.7.11 时遇到了同样的问题
最初我有 Python2.5,并且 PYTHONHOME 路径设置为 Python2.5。我将其重命名为C:Python27
,并解决了问题。
解决方案 12:
您可以尝试Open Source Active Python Setup,这是一个适用于 Windows 的出色 Python 安装程序。您只需卸载您的版本并安装它即可...
解决方案 13:
我赞成 slckin 的回答。我的问题是我太过深思熟虑,在路径周围添加了双引号。我删除了所有三个变量中的双引号:PYTHONHOME、PYTHONPATH 和 PATH。请注意,这是在 cmd 或 bat 文件中,用于设置其他工具的环境。但是,双引号在图标设置中可能很有用。输入
放
发现引号在路径中,但并未按预期删除。我还缩短了 PATH,使其长度少于 256 个字符。
解决方案 14:
首先卸载 python 并再次安装最新版本,在安装过程中使用自定义安装并标记所有用户复选框并设置安装路径 C:\Python 3.9 并在环境变量中将 PYTHON_HOME 值设为 C:\Python 3.9 它对我有用
解决方案 15:
我有一个严重依赖 Python 的应用程序,随着新版本的发布,我一直使用 python 2.7.x 进行更新。一切都很好,直到 2.7.11 时,我得到了同样的“ No module named site
”错误。我已将 PYTHONHOME 设置为,c:Python27
并且它可以正常工作。但谜团仍然存在,为什么现在需要这个,而以前的版本不需要。而且,如果需要,为什么安装程序不设置这个变量?
解决方案 16:
我遇到了同样的问题。我的解决方案是修复 Python 安装。(这是一个新安装,所以我没想到会出现问题,但现在问题已经解决了。)
修复(Windows 7):
转到控制面板 -> 程序 -> 程序和功能
单击已安装的 Python 版本,然后按卸载/更改。
按照说明修复安装。
解决方案 17:
从 PyYAML 主页安装 yaml:http://www.pyyaml.org/wiki/PyYAML
为您的操作系统和 Python 选择合适的版本。
扫码咨询,免费领取项目管理大礼包!