Отсутствует файл C: \ Windows \ system32 \ python27.zip - PullRequest
2 голосов
/ 05 августа 2011

Я недавно обновил установку Python 2.7.1 до 2.7.2 с помощью установщика .msi, и процесс, похоже, прошел нормально. Однако потом я случайно увидел значения по умолчанию для sys.path и заметил запись для C: \ Windows \ system32 \ python27.zip. Интересно, что именно в нем, я решил попробовать открыть его с помощью утилиты Zip, чтобы проверить его содержимое - однако вскоре я обнаружил, что файла там не было (хотя есть python27.dll).

Во всяком случае, мне сейчас интересно, если что-то не так. Кажется, что некоторые существующие программы на Python, которые я часто использую, работают без проблем, поэтому я не уверен, что установка не испортилась или нет (или как это исправить, если она есть).

Обновление:

Я знаю и прочитал PEP273, поэтому знаю о файловых модулях .zip. Это не то, о чем я спрашиваю. Что я хочу знать, так это тот факт, что в моей системе не установлен python27.zip, хотя это упоминается в моей sys.path проблеме? Я никогда не сталкивался с проблемами при импорте стандартных библиотек Python, что, как я ожидаю, ни на что не повлияет.

1 Ответ

5 голосов
/ 05 августа 2011

Из PEP 273 - Импорт модулей из Zip-архивов :

Так же, как 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 (спасибо, Тим).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...