我最近使用.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库的问题,这是我所期望的,没有人会影响。
答案 0 :(得分:5)
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], 内容sys.version [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的目录(感谢蒂姆)。