Установка Python и распространение на Windows 7 дает «Запись не удалась ... разрешение запрещено» - PullRequest
2 голосов
/ 21 января 2012

Я нахожусь на Windows 7 (который я полностью признаю, я не понимаю модель разрешений. Я читаю об этом в других вкладках.) Мой пользователь - администратор.Когда я пытаюсь запустить "python distribte_setup.py", я получаю "ошибки записи ... отказано в разрешении" ошибки, а затем "ошибка: невозможно создать или удалить файлы в каталоге установки".

Я недавноустановил установщик Python 3.2.2 MSI с python.org.

Я устанавливаю 32-битный Python, хотя я на 64-битной Windows, потому что у меня будут некоторые зависимости, которые требуют этого (pyglet, OpenGL library.)

Я загружаю distribte_setup.py и запускаю "python distribte_setup.py" из командной строки.

На полпути через огромное количество бесполезного текста этоspews - это некоторые скрытые сообщения об ошибках:

root: Generating grammar tables from E:\Program Files (x86)\Python3.2.2\Lib\lib2to3\PatternGrammar.txt
root: Writing grammar tables to E:\Program Files (x86)\Python3.2.2\Lib\lib2to3\PatternGrammar3.2.2.final.0.pickle
root: Writing failed:[Errno 13] Permission denied: 'E:\\Program Files (x86)\\Python3.2.2\\Lib\\lib2to3\\PatternGrammar3.2.2.final.0.pickle'

Эти три строки повторяются около двадцати раз, затем:

Scanning installed packages
No setuptools distribution found
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: 'E:\\Program Files (x86)\\Python3.2.2\\Lib\\site-packages\\test-easy-install-5924.write-test'

Каталог "E: \ Program Files (x86) \ Python3.2.2 \ Lib "разрешает администраторам" полный контроль ".Мой пользователь - администратор (и все отмеченные флажки разрешений неактивны - я не мог отключить «полный контроль» или другие разрешения, даже если бы захотел.)

Я спекулятивно пытался добавить «полный контроль»"группе" Пользователи ", а также группе" администраторы ".При перезапуске я больше не получаю те же ошибки, но он выходит в тот же момент:

Scanning installed packages
No setuptools distribution found
build\src\setuptools\command\easy_install.py:289: UserWarning: Unbuilt egg for distribute [unknown version] (c:\users\jhartley\appdata\local\temp\tmpr0dzkz\distribute-0.6.24\build\src)
  self.local_index = Environment(self.shadow_path+sys.path)
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'
error: E:\Program Files (x86)\Python3.2.2\Scripts: Access is denied

Нет каталога "E: \ Program Files (x86) \ Python3.2.2 \ Scripts".Я создаю один.Он принадлежит «администраторам» и имеет «полный контроль» для администраторов.Я заметил, что все остальные файлы и каталоги Python принадлежат "SYSTEM".Повторный запуск дает:

Scanning installed packages
No setuptools distribution found
build\src\setuptools\command\easy_install.py:289: UserWarning: Unbuilt egg for distribute [unknown version] (c:\users\jhartley\appdata\local\temp\tmp1kmbk6\distribute-0.6.24\build\src)
  self.local_index = Environment(self.shadow_path+sys.path)
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'
error: E:\Program Files (x86)\Python3.2.2\Scripts\easy_install-script.py: Permission denied

Несмотря на то, что каталог «Сценарии» имеет «полный контроль», предоставленный администраторам, я пытаюсь умозрительно добавить «полный контроль» для группы пользователей.При повторном запуске выдается несколько предупреждений:

Scanning installed packages
No setuptools distribution found
build\src\setuptools\command\easy_install.py:289: UserWarning: Unbuilt egg for distribute [unknown version] (c:\users\jhartley\appdata\local\temp\tmp31bznf\distribute-0.6.24\build\src)
  self.local_index = Environment(self.shadow_path+sys.path)
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'

, но, похоже, оно успешно завершено.

Однако при запуске «easy_install virtualenv» открывается диалоговое окно «Управление учетной записью пользователя» «Хотите разрешить следующую программу?от неизвестного издателя вносить изменения в этот компьютер? "а затем создает новое окно CMD, которое всплывает и исчезает слишком быстро, чтобы его можно было увидеть, и оно, похоже, не работает: virtualenv не установлен.

Я бы хотел, чтобы диалоговое окно UAC не появлялось каждый раз,Это раздражает: «easy_install» - это программа, которой я доверяю, и мне не нужно подтверждать каждый раз, когда я ее запускаю.Все решения, которые я могу найти, чтобы остановить появление диалогового окна UAC, включают создание волшебного ярлыка двойного щелчка для исполняемого файла.Я ничего не нашел для приложений командной строки.

Я также хотел бы остановить запуск easy_install в новом окне cmd.Это делает невозможным увидеть результат.Эта проблема, по-видимому, не зависит от диалога UAC, поскольку глобальное отключение UAC означает, что easy_install будет работать без диалога, но все равно будет работать в новом окне.

Что здесь происходит?Что я делаю не так?

Ответы [ 2 ]

5 голосов
/ 21 января 2012

Кажется, что вы должны использовать опцию «Запуск от имени администратора» при открытии командной строки, потому что, как говорит ваша жена, «Windows - это f **** d». Как вы, похоже, также обнаружили, отключение UAC - это один из способов избежать появления диалога UAC при этом.

1 голос
/ 21 января 2012

Явное предоставление «полного контроля» моему собственному пользователю для всей системы установочного каталога Python и его подкаталогов делает работу easy_install.

Однако, это не совсем удовлетворительно:

  • easy_install по-прежнему создает диалог UAC. Я хотел бы отключить это, потому что easy_install - это программа, которой я доверяю
  • easy_install по-прежнему запускается в новом окне cmd, которое затем исчезает, поэтому я не могу проверить вывод, если мне нужно (например, когда он потерпел неудачу ранее)
...