删除site.py后Python失败

时间:2012-07-10 09:56:09

标签: python setuptools

TL;博士

我不小心删除了我的Python安装的site.py文件。现在,当试图启动Python时,它会抱怨,

  

ImportError:找不到真正的“网站”模块

我尝试从setuptools下载site.py,但这导致__boot方法围绕语句imp.load_module('site',stream,path,descr)进行无限递归(第37行)。

有没有办法在不重新安装Python的情况下修复此site.py文件应该做什么?

一些背景信息:

这是在Linux服务器上,在我的主目录中安装了自定义Python(确切地说是~/nfs)。服务器上还有其他Python安装(不是我的 - 这很乱!)但$PATH$PYTHONPATH的设置方式是先找到我的安装。

至于为什么我删除了site.py文件:我尝试执行setuptools setup.py脚本,脚本告诉我删除该文件,因为它“不是由setuptools创建的”。我愚蠢地遵守了。

我怀疑这个原始错误消息是由于setuptools实现我的事实引起的。

1 个答案:

答案 0 :(得分:2)

site module设置你的python模块搜索路径和其他一些东西。这对python的正常运行有点关键。

您可以从python源存储库下载新副本:

对于其他python版本,对于正确的标记版本,网址通常为http://hg.python.org/cpython/file/*major*.*minor*/Lib/site.py,然后在左侧菜单中选择raw链接。

如果你从Ubuntu或Debian上的linux发行包中安装了python,那么这个文件已经被自定义了,你需要重新安装相应的python-minimal包。