【问题标题】:Missing 'C:\Windows\system32\python27.zip' file缺少“C:\Windows\system32\python27.zip”文件
【发布时间】:2011-08-04 21:31:19
【问题描述】:

我最近使用.msi 安装程序将我的 Python 2.7.1 安装升级到了 2.7.2,这个过程似乎很顺利。但是后来我碰巧在查看sys.path 的默认值,并注意到“C:\Windows\system32\python27.zip”的条目。想知道里面到底有什么,我决定尝试使用 Zip 实用程序打开它以查看其内容 - 但我很快发现该文件不存在(尽管有一个 python27.dll)。

无论如何,我现在想知道是否有问题。我经常使用的几个现有 Python 程序似乎都可以正常工作,所以我不确定安装是否混乱(或者如何修复它,如果是的话)。

更新

我知道并已阅读 PEP273,因此了解 .zip 文件模块。这不是我要问的。我想知道的是,我的系统上没有安装python27.zip,即使在我的sys.path 中提到了一个问题?我从来没有遇到过导入标准 Python 库的问题,我希望没有一个会影响到这一点。

【问题讨论】:

    标签: python windows module zipfile


    【解决方案1】:

    From PEP 273 -- Import Modules from Zip Archives:

    正如 sys.path 当前具有默认目录名称一样,默认 zip 存档名称也被添加。否则没有办法全部导入 存档中的 Python 库文件。

    ...

    问题在于名称应该是什么。名字应该有联系 使用 Python 版本,因此 Python 可执行文件可以正确找到 即使有多个 Python,它对应的库 同一台机器上的版本。

    我们为 sys.path 添加一个名称。在 Unix 上,目录是 sys.prefix + "/lib", 文件名为 "python%s%s.zip" % (sys.version[0], 系统版本[2])。所以对于 Python 2.2 和前缀 /usr/local,路径 /usr/local/lib/python2.2/ 已经在 sys.path 上,并且 /usr/local/lib/python22.zip 将被添加。在 Windows 上,该文件是 python22.dll 的完整路径,其中“dll”替换为“zip”。拉链 存档名称始终作为 sys.path 中的第二项插入。这 首先是 main.py 的目录(感谢 Tim)。

    【讨论】:

    • 是的,我知道并已阅读 PEP273。从所说的听起来好像没有 python27.zip 可能是一个错误或问题——但据我所知,一切似乎都很好。我检查了另一台装有 2.7.1 的机器,它也缺少这个文件。无论如何,我不认为你的回答回答了我的问题。
    猜你喜欢
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    相关资源
    最近更新 更多