Почему Python для Windows не установлен в% PROGRAMFILES% («C: \ Program Files»)?

Ответы:

22

Видимо, это является причиной 7-летняя дискуссия среди разработчиков Python.

Следующее обоснование было дано авторами:

Автор: Тим Питерс (tim.peters) * (Python committer) Дата: 2006-03-22 20:27

Давным-давно Python установил (по умолчанию) под   "Программные файлы". Я изменил это из-за бесконечного   проблемы, созданные чертовым встроенным пространством, и реже   но более тонкие проблемы из-за того, что "Program Files" не является   ДОСиш 8,3 имени. В целом, я все еще думаю, что это было хорошее изменение.

Обратите внимание, что в отличие от большинства приложений Windows (которые   На основе графического интерфейса), языки программирования предназначена использоваться   в значительной степени из командной строки, вызывается скриптами, и так   на. Вот что делает пространство на пути бесконечным   подверженные ошибки. В WinXP Pro я заметил, что MS все еще   осторожно ставить свои собственные инструменты командной строки / скрипта (sort.exe,   ipconfig.exe, cscript.exe, ..., даже notepad.exe) под чистым   DOSish 8.3 пути без пробелов ;-)


В сторону : Из-за возможности повышения привилегий использование C: \ вместо C: \ Program Files \ может представлять угрозу безопасности:

Автор: Мика Элоранта (mel) Дата: 2005-09-07 21:34

Целевой каталог установки по умолчанию, где Python устанавливается в Windows   находится непосредственно в корневом каталоге системного диска (например,   "C: \ python24"). Права доступа к файлам и каталогам, унаследованные   Python24-каталог из корневого каталога недостаточно безопасен для   хранение двоичных файлов приложений.

Microsoft, в своей бесконечной мудрости, решила, что корень   каталог системного диска должен разрешать обычные (не администраторы) пользователи   создавать каталоги и файлы там. Этот набор разрешений   наследуется каталогом python при его создании по умолчанию   местоположение (то есть "C: \ python24" или что-то еще).

Если вы хотите изменить каталог Python, чтобы избежать обсуждаемой атаки на повышение привилегий, можно изменить каталог \ Python, используя Icacls ,

Chris
источник
почти никто не вызывает Python с его полным путем. Правильный способ положить это bin папка в %PATH% и вам больше не нужно разбираться с пробелами. И это не правда, что XP Pro имеет свои исполняемые файлы командной строки в путях DOS 8.3. Хотя их пути обычно не имеют пробелов, многие файлы имеют длину более 8 символов, например systeminfo.exe
phuclv