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

时间:2011-04-08 19:25:32

标签: python windows module installation environment-variables

我第一次尝试安装Python。我从Python网站下载了以下安装程序: Python 2.7.1 Windows Installer (Windows binary -- does not include source)。然后我运行了安装程序,选择了“所有用户”,一切都很好。我将Python安装到默认位置:

C:\Python27

接下来,为了测试Python的安装是否正确,我导航到我的Python目录,并在windows cmd提示符下运行“python”命令。它返回以下错误:

  

ImportError:没有名为site

的模块

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

  

#installing zipimport hook
import zipimport # builtin
#已安装zipimport hook
  #ImportError: No module named site #clear 内置 ._
  #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 #recovery sys.stdout
  #restore sys.stderr #cleanup main
  #cleanup [1 ] zipimport #cleanup [1]信号
  #cleanup [1 ] exceptions #cleanup [1] _warnings
  #cleanup sys #cleanup 内置
  #cleanup ints: 6 unfreed ints #cleanup浮动

当我做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字节免费

有什么想法吗?

17 个答案:

答案 0 :(得分:138)

嘿,我一直在为自己研究这个问题差不多一天,终于有了突破。试试这个:

  1. 设置PYTHONPATH / PYTHONHOME变量

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

  2. 希望这有帮助!

答案 1 :(得分:39)

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

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

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

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

答案 2 :(得分:12)

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

试试这个:

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

使用

setx PYTHONHOME C:\Python27

为后续命令提示永久设置

答案 3 :(得分:12)

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

来解决它

答案 4 :(得分:4)

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

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

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

答案 5 :(得分:4)

对于Windows 10(跟进@slckin答案),可以通过以下命令行设置:

setx PYTHONHOME "C:\Python27"
setx PYTHONPATH "C:\Python27\Lib"
setx PATH "%PYTHONHOME%;%PATH%"

答案 6 :(得分:4)

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

答案 7 :(得分:3)

对我而言,因为我安装了2个版本的python - python 27和python 3.3。这两个文件夹都设置了路径变量,因此出现了这个问题。为了解决这个问题,我把python27移到temp文件夹,因为我对python 3.3没问题。所以请检查环境变量,如PATH,PYTHONHOME,因为它可能是一个问题。感谢。

答案 8 :(得分:1)

如果有人发现它仍然无法在非管理员用户下工作:

示例错误:

ImportError: No module named iso8601

您需要为easy_install设置'--always-unzip'选项:

easy_install --always-unzip python-keystoneclient

它将解压缩您的egg文件,并允许导入以找到它们。

答案 9 :(得分:1)

我在安装python 2.7.11

时遇到了同样的ImportError: No module named site问题

最初我有Python2.5,PYTHONHOME路径设置为Python2.5。 我将其重命名为C:\Python27\并解决了问题。

答案 10 :(得分:0)

安装时先卸载python再安装最新版本使用自定义安装并勾选所有用户复选框并设置安装路径C:\Python 3.9 并使 PYTHON_HOME 值 C:\Python 3.9 在它对我有用的环境变量中

答案 11 :(得分:0)

你可以试试Open Source Active Python Setup这是一款做得很好的Windows Python安装程序。 你只需要卸载你的版本并安装它......

答案 12 :(得分:0)

就我而言,问题是另一个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。

我要解决此问题所需要做的就是在PATH中将pgAdmin的主页移到比Python晚的地方

答案 13 :(得分:0)

我投票给了slckin的回答。我的问题是我很周到,并在路径上添加了双引号。我删除了所有三个变量中的双引号:PYTHONHOME,PYTHONPATH和PATH。请注意,这是在cmd或bat文件中为其他工具设置环境。但是,双引号在图标设置中可能很有用。打字

  

透露,路径中的引号并未按预期下降。我还缩短了PATH,使其长度少于256个字符。

答案 14 :(得分:-1)

我遇到了同样的问题。我的解决方案是修复Python安装。 (这是一个新装置,所以我没想到会出现问题,但现在已经解决了。)

修复(Windows 7):

  1. 转到控制面板 - >程序 - >程序和功能
  2. 单击安装的Python版本,然后按卸载/更改。
  3. 按照说明修复安装。

答案 15 :(得分:-1)

我有一个应用程序,它在很大程度上依赖于Python,并且在发布新版本时与python 2.7.x保持同步。当我得到相同的“No module named site”错误时,直到2.7.11才能完成。我已经将PYTHONHOME设置为c:\Python27并且它正在运行。但是,这个谜团仍然是为什么现在需要它,而不是以前的版本。并且,如果需要,为什么安装程序不设置此var?

答案 16 :(得分:-2)

从PyYAML主页安装yaml:http://www.pyyaml.org/wiki/PyYAML

为您的操作系统和Python选择合适的版本。