Проблема с разрешением .egg для easy_install под windows7 / vista

StackOverflow https://stackoverflow.com/questions/2264488

Вопрос

Я использую easy_install для установки пакетов python в virtualenv под windows7.Из-за беспилотника мне приходится запускать CMD от имени администратора для установки пакетов.Здесь возникает проблема, я замечаю, что я не могу импортировать пакет из обычной учетной записи пользователя.

>>> import tempita
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tempita

Но tempita-0.4-py2.6 находится прямо там, в пакете сайта.Кроме того, запустите python от имени администратора, импорт работает корректно.В этом и заключается проблема разрешения.Это странно, я не знаю почему, но только файлы .egg устанавливаются с ограниченными разрешениями.Я нахожу, что есть статья об этой проблеме:

easy_install больше не является простым в Vista

Изменить владельца или разрешения родительской папки не работает, единственное решение, которое я знаю, - это изменять разрешения этих файлов egg один за другим.Это действительно раздражает, почему easy_install установил такие ограниченные разрешения только для файлов .egg, а не для файлов .py?И как я могу решить эту проблему, не выключая беспилотник и не запускаясь от имени суперпользователя?

Это было полезно?

Решение

Я начал использовать распространять вместо setuptools, потому что команда распространения была гораздо более активной в отслеживании проблем.Любопытно, что похоже, что distribute больше не создает zip-файлы в моей системе Windows 7, возможно, из-за проблем с разрешениями, с которыми вы столкнулись.Переход на дистрибутив может быть решением для вас, хотя я бы понял, если бы это казалось скорее взломом, чем исправлением.

Другие советы

Возможно, вы сможете использовать ICACLS для сброса прав доступа к файлам.

ICACLS c:\Python26\lib\site-packages\*.egg /reset

Я предлагаю сначала попробовать это с одним файлом, прежде чем делать *.egg.Обратите внимание , что *.egg скорее всего, они также будут соответствовать папкам egg.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top