Проблема с разрешением .egg из easy_install под windows7 / vista - PullRequest
1 голос
/ 15 февраля 2010

Я использую easy_install для установки пакетов python в virtuaenv под 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 как раз в пакете site. Также запустите python от имени администратора, импорт работает правильно. Это проблема разрешения. Странно, я не знаю почему, но устанавливаются только файлы .egg с ограниченными правами. Я нашел статью об этой проблеме:

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

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

Ответы [ 2 ]

0 голосов
/ 15 февраля 2010

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

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

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

0 голосов
/ 15 февраля 2010

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

...