Я пользователь компьютера с Windows без прав администратора и только что установил Canopy Python от Enthought (и я был очень рад, что смог сделать это без прав администратора). Теперь я хотел бы установить внешний пакет (который недоступен в Canopy Python в качестве академического пользователя). Инструкции на странице поддержки от Enthought предлагают что для установки внешнего пакета мы можем просто открыть командное окно, убедиться, что Canopy Python находится на пути SHELL, а затем «следовать стандартным процедурам установки Python из командной строки», при этом предлагаемый подход заключается в использовании easy_install. Однако, как не администратор, при попытке использовать easy_install появляется диалоговое окно с запросом имени пользователя/пароля администратора (которого у меня нет как у обычного пользователя). Кто-нибудь знает, можно ли использовать easy_install без прав администратора или есть альтернативное решение для установки внешних пакетов для пользователей без прав администратора для Canopy Python?
Установка внешних пакетов в Canopy Python с помощью easy_install без прав администратора
Ответы (2)
Возможно ли, что вы используете easy_install
другого дистрибутива Python на своем компьютере?
Расположение easy_install
по умолчанию в Canopy:
C:\Users\YourName\AppData\Local\Enthought\Canopy\User\Scripts\easy_install
Пожалуйста, попробуйте использовать полный адрес явно и посмотрите, работает ли это, теоретически вам не нужны права администратора.
Обновление: проблема возникает из-за одной из эвристик, используемых Windows UAC для определения того, требует ли приложение повышения привилегий: если в имени есть слово «настройка» или «установить», будет предложено для высоты. (См. ниже ответ Моны о том, какие файлы переименовывать.) Вероятно, проще переименовать easy_install и использовать его для установки pip
(easy install pip
), а вместо этого использовать его.
Start Menu > All Programs > Enthought Canopy > Canopy command prompt
. Затем вы можете запускать сценарии, установленные Canopy, без необходимости явно указывать полный путь.
- person punchagan; 12.04.2013
В качестве обновления, после поиска еще нескольких сведений о контроле доступа пользователей (UAC) в Windows (и наткнувшись на что-то, что упоминалось, что наличие «установить» в названии программы может вызвать проблемы, но я точно не знаю, было ли это причина проблемы в моем случае), я только что попробовал следующий «хак», который сработал для меня (но, возможно, кто-то еще может предложить более элегантное решение или может дать больше отзывов о том, почему это работает):
- Перейдите в C:\Users\Ваше имя\AppData\Local\Enthought\Canopy\User\Scripts\
- Переименуйте easy_install.exe в easy.exe
- Переименуйте easy_install-script.py в easy-script.py.
- Запустите «C:\Users\YourName\AppData\Local\Enthought\Canopy\User\Scripts\easy.exe PackageName» из командной строки.
- (Дождитесь установки пакета и проверьте его успешность, открыв Canopy Python и попытавшись импортировать пакет.)
Некоторые дополнительные комментарии: я получил сообщение об ошибке, если не выполнил вышеописанный шаг № 3 (также переименовав файл .py). Кроме того, мне нужно было ввести полный путь к easy.exe в этом случае из командной строки.
Это сработало для меня (и я могу использовать внешний пакет), но опять же, я предполагаю, что должно быть более «официальное» решение, не требующее переименования easy_install.