Python(Windows) - ImportError:没有名为site的模块

Mim*_*ito 99 python windows installation module environment-variables

我是第一次尝试安装Python.我从Python网站下载了以下安装程序: Python 2.7.1 Windows Installer(Windows二进制文件 - 不包括源代码).然后我运行了安装程序,选择了"所有用户",一切都很好.我将Python安装到默认位置:

C:\Python27
Run Code Online (Sandbox Code Playgroud)

其次,要测试的Python被正确安装,我浏览到我的Python目录,并运行在Windows中的"蟒蛇"命令命令提示符.它返回以下错误:

ImportError:没有名为site的模块

当我做'python -v'时,我得到以下内容:

#installing zipimport hook
import zipimport # builtin

#ImportError: No module named site #installed zipimport hook #clear builtin ._
#clear sys.path #clear sys.argv
#clear sys.ps1 #clear sys.ps2
#clear sys.exitfunc #clear sys.exc_type
#clear sys.exc_value #clear sys.exc_traceback
#clear sys.last_type #clear sys.last_value
#clear sys.last_traceback #clear sys.path_hooks
#clear sys.path_importer_cache #clear sys.meta_path
#clear sys.flags #clear sys.float_info
#restore sys.stdin #恢复sys.stdout
#restore sys.stderr #cleanup main
#cleanup [1 ] zipimport #cleanup [1] signal
#cleanup[1 ] exceptions #cleanup [1] _warnings
#cleanup sys #cleanup builtin
#cleanup ints: 6 unfreed ints #cleanup floats

当我做dir时,C:\Python27\Lib\site.py*我得到以下内容:

C:\ Users\Mimminito> dir C:\ Python27\Lib\site.py*
驱动器C中的卷没有标签.
卷序列号为DAB9-A863

C:\ Python27\Lib的目录

13/11/2010 20:08 20,389 site.py
1文件20,389字节
0 Dir(s)694,910,976字节免费

有任何想法吗?

小智 142

嘿,我一直在为自己研究这个问题近一天,最后取得了突破.试试这个:

  1. 设置PYTHONPATH/PYTHONHOME变量

    右键单击开始菜单中的计算机图标,转到属性.在左侧选项卡上,转到高级系统设置.在出现的窗口中,转到"高级"选项卡,然后在底部单击"环境变量".单击用户变量列表并开始键入Python,然后重复系统变量,以确保您没有PYTHONPATH或PYTHONHOME的错误设置变量.接下来,添加新变量(我在System而不是User中做过,虽然它也适用于User):PYTHONPATH,设置为C:\ Python27\Lib.PYTHONHOME,设置为C:\ Python27.

希望这可以帮助!

  • 并且您需要将%PYTHONHOME%附加到路径变量以使其工作. (7认同)
  • 啊哈!这应该是问题的答案.对我来说,这是一个PYTHONHOME变量设置为无效路径...删除它,现在它工作!似乎Steam的Alien Swarm mod补充说. (7认同)
  • 环境变量是一场噩梦.我责怪Linux. (3认同)
  • 设置"PYTHONPATH/PYTHONHOME"变量不应该是Python找到放置在`Lib`文件夹中的`site.py`模块.这个答案充其量只是一种解决方法. (2认同)

slc*_*kin 41

快速解决方案:设置PYTHONHOME和PYTHONPATH并在PATH上包含PYTHONHOME

例如,如果您安装到c:\ Python27

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%
Run Code Online (Sandbox Code Playgroud)

确保你在PYTHON*vars上没有尾随'\',这似乎打破了它.

  • 如果在Windows 10上,现在是这样的:setx PYTHONHOME"C:\ Python27"setx PYTHONPATH"C:\ Python27\Lib"setx PATH"%PYTHONHOME%;%PATH%" (3认同)

Mik*_*ika 12

确保正确设置了PYTHONHOME环境变量.如果PYTHONHOME指向无效位置或您尝试运行的其他Python安装,则会收到此错误.

试试这个:

C:\>set PYTHONHOME=C:\Python27
C:\>python
Run Code Online (Sandbox Code Playgroud)

使用

setx PYTHONHOME C:\Python27
Run Code Online (Sandbox Code Playgroud)

为后续命令提示永久设置此项

  • 使用`setx PYTHONHOME C:\ Python27`为后续命令提示永久设置它.否则,您每次都必须使用set命令. (6认同)

Jor*_*gas 12

我在安装Windows Python和Cygwin Python之后遇到了这个问题,并尝试从Cygwin运行Cygwin Python.我export通过PYTHONHOME =/usr /和PYTHONPATH =/usr/lib/python2.7 解决了这个问题


Dig*_*til 6

找到site.py并将其路径添加到PYTHONPATH 中。这将解决您的问题。


idb*_*rii 5

您是否尝试从 Cygwin 运行 Windows Python?我也有同样的问题。Cygwin 中的 Python 无法导入站点。Cmd 中的 Python 可以工作。

看起来您需要确保通过运行 PYTHONHOME 和 PYTHONPATHcygwin -aw以使它们成为 Windows 路径。另外,python 似乎使用了一些不正确的路径。

我想我需要通过 cygwin 安装 python 才能让它工作。


Iva*_*n C 5

就我而言,问题是另一个 site.py 文件,由于 PATH 设置,该文件比 Python\Lib 中的文件更早得到解决。

环境:Windows 10 专业版、Python27。

我的桌面安装了 pgAdmin,其中包含文件 C:\Program Files (x86)\pgAdmin\venv\Lib\site.py。因为 PATH 环境变量的 pdAdmin 的 home 早于 Python(显然这首先是一个坏主意),所以首先找到 pgAdmin 的 site.py。

要解决这个问题,我所要做的就是将 pgAdmin 的 home 移到 PATH 中晚于 Python 的位置


phi*_*ext 0

您可以尝试开源 Active Python 安装程序,这是一个出色的 Windows Python 安装程序。您只需卸载您的版本并安装它...

  • python.org 安装程序就很好 (7认同)